@embarkai/ui-kit 0.4.65 → 0.4.67

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.
@@ -15,7 +15,7 @@
15
15
  <meta http-equiv="X-Content-Type-Options" content="nosniff" />
16
16
  <meta http-equiv="Referrer-Policy" content="strict-origin-when-cross-origin" />
17
17
 
18
- <title>EmbarkAI Secure Wallet - iframe version 0.4.65</title>
18
+ <title>EmbarkAI Secure Wallet - iframe version 0.4.67</title>
19
19
 
20
20
  <!-- Styles will be injected by build process -->
21
21
  <style>
@@ -6398,7 +6398,7 @@ var SigningManager = class extends TokenRefreshApiClient {
6398
6398
  };
6399
6399
 
6400
6400
  // src/iframe/main.ts
6401
- var IFRAME_VERSION = "0.4.65";
6401
+ var IFRAME_VERSION = "0.4.67";
6402
6402
  var IframeWallet = class {
6403
6403
  constructor() {
6404
6404
  console.log("=".repeat(60));
package/dist/index.cjs CHANGED
@@ -972,11 +972,12 @@ async function getAssetRate(symbol, asSymbol) {
972
972
  });
973
973
  }
974
974
  function useAssetUsdtRate(assetSymbol, options) {
975
- const { refetchInterval, staleTime } = options || {};
975
+ const { disabled, refetchInterval, staleTime } = options || {};
976
976
  const address = useSession((st) => st.address);
977
977
  return (0, import_react_query.useQuery)({
978
978
  queryKey: [ASSET_RATE_QUERY_KEY, address, assetSymbol],
979
- enabled: !!address && !!assetSymbol,
979
+ enabled: !disabled && !!address && !!assetSymbol,
980
+ // && !isProjectAsset && !isNft && !isSecurity
980
981
  refetchInterval: refetchInterval || BALANCE_POLLING_INTERVAL * 2,
981
982
  staleTime: staleTime || BALANCE_POLLING_INTERVAL * 2,
982
983
  // keeps the data fresh for 1 minute before considering it stale
@@ -996,28 +997,28 @@ var init_useAssetRate = __esm({
996
997
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
997
998
  function BalanceFeedProvider() {
998
999
  const config = useProviderConfig().config;
999
- const address = useSession((st) => st.address);
1000
+ const embarkaiAddress = useSession((st) => st.address);
1000
1001
  const chainConfig = useSession((st) => st.chainConfig);
1001
1002
  const publicClient = useSession((st) => st.publicClient);
1002
1003
  const [balanceSymbol, setBalanceSymbol] = (0, import_react.useState)(null);
1003
1004
  (0, import_react.useEffect)(
1004
1005
  () => setBalanceSymbol(config?.current?.showBalanceAs || chainConfig.nativeCurrency.symbol),
1005
- [config, address, chainConfig]
1006
+ [config, embarkaiAddress, chainConfig]
1006
1007
  );
1007
1008
  (0, import_react.useEffect)(
1008
1009
  () => useLayoutDataStore.getState().setCryptoSymbol(chainConfig?.nativeCurrency?.symbol || "LUMIA"),
1009
- [chainConfig]
1010
+ [embarkaiAddress, chainConfig]
1010
1011
  );
1011
1012
  const { data: cryptoRate } = useAssetUsdtRate(balanceSymbol);
1012
1013
  const isNativeBalanceFeedEnabled = !!balanceSymbol && !!chainConfig?.nativeCurrency.symbol && balanceSymbol === chainConfig?.nativeCurrency.symbol;
1013
1014
  const { data: nativeBalance } = (0, import_react_query2.useQuery)({
1014
- enabled: !!isNativeBalanceFeedEnabled && !!address && !!publicClient,
1015
+ enabled: !!isNativeBalanceFeedEnabled && !!embarkaiAddress && !!publicClient,
1015
1016
  retry: false,
1016
1017
  refetchInterval: BALANCE_POLLING_INTERVAL,
1017
- queryKey: [NATIVE_BALANCE_QUERY_KEY, address, chainConfig?.nativeCurrency?.symbol],
1018
+ queryKey: [NATIVE_BALANCE_QUERY_KEY, embarkaiAddress, chainConfig?.nativeCurrency?.symbol],
1018
1019
  // Include chainId in query key to refetch when chain changes
1019
1020
  queryFn: async () => {
1020
- const balanceValue = await publicClient.getBalance({ address });
1021
+ const balanceValue = await publicClient.getBalance({ address: embarkaiAddress });
1021
1022
  return {
1022
1023
  decimals: chainConfig?.nativeCurrency?.decimals || 18,
1023
1024
  formatted: (0, import_viem2.formatUnits)(balanceValue, chainConfig?.nativeCurrency?.decimals || 18),
@@ -1047,7 +1048,7 @@ function BalanceFeedProvider() {
1047
1048
  const { data: projectAssetBalance } = (0, import_react_query2.useQuery)({
1048
1049
  retry: false,
1049
1050
  refetchInterval: BALANCE_POLLING_INTERVAL,
1050
- enabled: !!address && !!isProjectAssetBalanceEnabled,
1051
+ enabled: !!embarkaiAddress && !!isProjectAssetBalanceEnabled,
1051
1052
  queryKey: PROJECT_ASSET_BALANCE_QUERY_KEY,
1052
1053
  // should be invalidated by host app via provided queryKey
1053
1054
  queryFn: async () => await projectAssetBalanceQueryFn?.()
@@ -1069,20 +1070,33 @@ function BalanceFeedProvider() {
1069
1070
  }, [isProjectAssetBalanceEnabled, projectAssetBalance]);
1070
1071
  const isCustomAssetBalanceEnabled = !isNativeBalanceFeedEnabled && !isProjectAssetBalanceEnabled;
1071
1072
  const { data: customBalance } = (0, import_react_query2.useQuery)({
1072
- enabled: !!isCustomAssetBalanceEnabled && !!balanceSymbol && !!chainConfig?.id && !!address && !!publicClient,
1073
+ enabled: !!isCustomAssetBalanceEnabled && !!balanceSymbol && !!chainConfig?.id && !!embarkaiAddress && !!publicClient,
1073
1074
  retry: false,
1074
1075
  refetchInterval: BALANCE_POLLING_INTERVAL,
1075
1076
  // staleTime: 0,
1076
- queryKey: [CUSTOM_BALANCE_QUERY_KEY, chainConfig?.id, address, balanceSymbol],
1077
+ queryKey: [CUSTOM_BALANCE_QUERY_KEY, chainConfig?.id, embarkaiAddress, balanceSymbol],
1077
1078
  // Include chainId in query key to refetch when chain changes
1078
1079
  queryFn: async () => {
1079
- const coreTokenList = import_read2.NON_BLOCKSCOUT_CORE_TOKENS[chainConfig?.id] || [];
1080
+ const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
1080
1081
  const watchTokensList = (config?.current?.watchTokens?.[chainConfig?.id] || []).map((el) => ({
1081
1082
  address: el.address,
1082
1083
  decimals: el.decimals,
1083
1084
  symbol: el.symbol
1084
1085
  }));
1085
- const customAssetList = [...watchTokensList, ...coreTokenList];
1086
+ const customAssetList = [];
1087
+ if (blockscoutApiUrl) {
1088
+ const blockscoutClient = (0, import_core.createBlockscoutClient)({ baseUrl: blockscoutApiUrl });
1089
+ const blockscoutTokens = await blockscoutClient.getTokenBalances(embarkaiAddress);
1090
+ const blockscoutAssets = blockscoutTokens.map((el) => ({
1091
+ address: el.token.address_hash,
1092
+ decimals: Number(el.token.decimals),
1093
+ symbol: el.token.symbol
1094
+ }));
1095
+ customAssetList.push(...watchTokensList, ...blockscoutAssets);
1096
+ } else {
1097
+ const coreTokenList = import_read2.NON_BLOCKSCOUT_CORE_TOKENS[chainConfig?.id] || [];
1098
+ customAssetList.push(...watchTokensList, ...coreTokenList);
1099
+ }
1086
1100
  const { address: customAssetAddress, decimals: customAssetADecimals } = customAssetList.find((el) => el.symbol === balanceSymbol) || {};
1087
1101
  if (!customAssetAddress) {
1088
1102
  console.warn(`[BALANCE FEED] No token address found for symbol ${balanceSymbol} on chain ${chainConfig?.name}`);
@@ -1092,7 +1106,7 @@ function BalanceFeedProvider() {
1092
1106
  address: customAssetAddress,
1093
1107
  abi: import_viem2.erc20Abi,
1094
1108
  functionName: "balanceOf",
1095
- args: [address],
1109
+ args: [embarkaiAddress],
1096
1110
  authorizationList: void 0
1097
1111
  });
1098
1112
  return {
@@ -1116,11 +1130,13 @@ function BalanceFeedProvider() {
1116
1130
  }, [isCustomAssetBalanceEnabled, customBalance, cryptoRate]);
1117
1131
  return null;
1118
1132
  }
1119
- var import_read2, import_react_query2, import_react, import_viem2;
1133
+ var import_core, import_read2, import_react_query2, import_react, import_viem2;
1120
1134
  var init_BalanceFeedProvider = __esm({
1121
1135
  "src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx"() {
1136
+ init_initial();
1122
1137
  init_ProviderContext();
1123
1138
  init_SessionContext();
1139
+ import_core = require("@embarkai/core");
1124
1140
  import_read2 = require("@embarkai/core/read");
1125
1141
  import_react_query2 = require("@tanstack/react-query");
1126
1142
  import_react = require("react");
@@ -1600,17 +1616,17 @@ async function resolveUiKitPaymaster(chainId, shouldUsePaymaster) {
1600
1616
  };
1601
1617
  }
1602
1618
  const chainConfig = (0, import_read5.getChainConfig)(chainId);
1603
- return (0, import_core.resolveProjectPaymaster)({
1619
+ return (0, import_core2.resolveProjectPaymaster)({
1604
1620
  chainId,
1605
1621
  projectId: getProjectId(),
1606
1622
  defaultPaymasterAddress: chainConfig?.paymasterAddress,
1607
1623
  dashboardApiUrl: getDashboardApiUrl()
1608
1624
  });
1609
1625
  }
1610
- var import_core, import_read5;
1626
+ var import_core2, import_read5;
1611
1627
  var init_resolve_paymaster = __esm({
1612
1628
  "src/internal/clients/account/resolve-paymaster.ts"() {
1613
- import_core = require("@embarkai/core");
1629
+ import_core2 = require("@embarkai/core");
1614
1630
  import_read5 = require("@embarkai/core/read");
1615
1631
  init_base2();
1616
1632
  init_projectId();
@@ -11773,8 +11789,8 @@ function ChainsMenu() {
11773
11789
  return resolveUiKitPaymaster(activeChainId, true);
11774
11790
  },
11775
11791
  enabled: !!activeChainId,
11776
- staleTime: import_core2.PAYMASTER_CACHE_TTL_MS,
11777
- gcTime: import_core2.PAYMASTER_CACHE_TTL_MS,
11792
+ staleTime: import_core3.PAYMASTER_CACHE_TTL_MS,
11793
+ gcTime: import_core3.PAYMASTER_CACHE_TTL_MS,
11778
11794
  placeholderData: activeChainId ? {
11779
11795
  address: activeDefaultPaymasterAddress ?? null,
11780
11796
  source: activeDefaultPaymasterAddress ? "default" : "none",
@@ -11828,14 +11844,14 @@ function ChainsMenu() {
11828
11844
  }
11829
11845
  );
11830
11846
  }
11831
- var import_core2, import_read15, import_react_query16, import_lucide_react20, import_react31, import_jsx_runtime53;
11847
+ var import_core3, import_read15, import_react_query16, import_lucide_react20, import_react31, import_jsx_runtime53;
11832
11848
  var init_ChainsMenu = __esm({
11833
11849
  "src/internal/components/ChainsMenu/ChainsMenu.tsx"() {
11834
11850
  init_networks3();
11835
11851
  init_ProviderContext();
11836
11852
  init_SessionContext();
11837
11853
  init_useT();
11838
- import_core2 = require("@embarkai/core");
11854
+ import_core3 = require("@embarkai/core");
11839
11855
  import_read15 = require("@embarkai/core/read");
11840
11856
  import_react_query16 = require("@tanstack/react-query");
11841
11857
  import_lucide_react20 = require("lucide-react");
@@ -17888,7 +17904,7 @@ function useBlockscoutAssets(options) {
17888
17904
  } = useProviderConfig().config?.current?.portfolio || {};
17889
17905
  const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
17890
17906
  const blockscoutClient = (0, import_react58.useMemo)(
17891
- () => blockscoutApiUrl ? (0, import_clients2.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
17907
+ () => blockscoutApiUrl ? (0, import_core4.createBlockscoutClient)({ baseUrl: blockscoutApiUrl }) : null,
17892
17908
  [blockscoutApiUrl]
17893
17909
  );
17894
17910
  const lastRefreshRef = (0, import_react58.useRef)(0);
@@ -17922,7 +17938,7 @@ function useBlockscoutAssets(options) {
17922
17938
  ...BALANCE_DEFAULT_QUERY_CFG,
17923
17939
  queryKey: [`NON-${BLOCKSCOUT_QUERY_KEY}`, resolvedChainId, address],
17924
17940
  queryFn: async () => {
17925
- const assetList = await import_clients2.nonBlockscoutClient.getTokenBalances({
17941
+ const assetList = await import_core4.nonBlockscoutClient.getTokenBalances({
17926
17942
  walletAddress: address,
17927
17943
  chainId: resolvedChainId
17928
17944
  });
@@ -18149,11 +18165,11 @@ function useBlockscoutAssets(options) {
18149
18165
  lastUpdated: dataUpdatedAt || null
18150
18166
  };
18151
18167
  }
18152
- var import_clients2, import_react_query39, import_react58;
18168
+ var import_core4, import_react_query39, import_react58;
18153
18169
  var init_useBlockscoutAssets = __esm({
18154
18170
  "src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts"() {
18155
18171
  init_ProviderContext();
18156
- import_clients2 = require("@embarkai/core/clients");
18172
+ import_core4 = require("@embarkai/core");
18157
18173
  import_react_query39 = require("@tanstack/react-query");
18158
18174
  import_react58 = require("react");
18159
18175
  init_initial();
@@ -19951,7 +19967,7 @@ async function getUserOperationByHash(userOpHash, chainId) {
19951
19967
  throw new Error("Operation hash is required");
19952
19968
  }
19953
19969
  try {
19954
- const result = await (0, import_core3.bundlerRpc)("eth_getUserOperationByHash", [userOpHash], chainConfig.bundlerUrl);
19970
+ const result = await (0, import_core5.bundlerRpc)("eth_getUserOperationByHash", [userOpHash], chainConfig.bundlerUrl);
19955
19971
  if (!result) {
19956
19972
  return null;
19957
19973
  }
@@ -19968,11 +19984,11 @@ async function getUserOperationByHash(userOpHash, chainId) {
19968
19984
  return null;
19969
19985
  }
19970
19986
  }
19971
- var import_core3, import_read18;
19987
+ var import_core5, import_read18;
19972
19988
  var init_getUserOperationByHash = __esm({
19973
19989
  "src/clients/bundler/getUserOperationByHash.ts"() {
19974
19990
  init_SessionContext();
19975
- import_core3 = require("@embarkai/core");
19991
+ import_core5 = require("@embarkai/core");
19976
19992
  import_read18 = require("@embarkai/core/read");
19977
19993
  }
19978
19994
  });
@@ -19991,7 +20007,7 @@ async function getUserOperationReceipt(userOpHash, chainId) {
19991
20007
  throw new Error("Operation hash is required");
19992
20008
  }
19993
20009
  try {
19994
- const result = await (0, import_core4.bundlerRpc)("eth_getUserOperationReceipt", [userOpHash], chainConfig.bundlerUrl);
20010
+ const result = await (0, import_core6.bundlerRpc)("eth_getUserOperationReceipt", [userOpHash], chainConfig.bundlerUrl);
19995
20011
  if (!result) {
19996
20012
  return null;
19997
20013
  }
@@ -20014,11 +20030,11 @@ async function getUserOperationReceipt(userOpHash, chainId) {
20014
20030
  return null;
20015
20031
  }
20016
20032
  }
20017
- var import_core4, import_read19;
20033
+ var import_core6, import_read19;
20018
20034
  var init_getUserOperationReceipt = __esm({
20019
20035
  "src/clients/bundler/getUserOperationReceipt.ts"() {
20020
20036
  init_SessionContext();
20021
- import_core4 = require("@embarkai/core");
20037
+ import_core6 = require("@embarkai/core");
20022
20038
  import_read19 = require("@embarkai/core/read");
20023
20039
  }
20024
20040
  });
@@ -20075,7 +20091,7 @@ async function executeWarpTransactions(txs, walletClient) {
20075
20091
  const externalWalletChain = CHAINS_UI_META[originChain].chain;
20076
20092
  const publicClient = bridgeSender === "embarkai-wallet" ? useSession.getState().publicClient : (0, import_viem12.createPublicClient)({
20077
20093
  chain: externalWalletChain,
20078
- transport: import_core5.CHAINS_BROWSERS_TRANSPORTS[externalWalletChain.id] || (0, import_viem12.http)(externalWalletChain.rpcUrls.default.http[0])
20094
+ transport: import_core7.CHAINS_BROWSERS_TRANSPORTS[externalWalletChain.id] || (0, import_viem12.http)(externalWalletChain.rpcUrls.default.http[0])
20079
20095
  });
20080
20096
  if (!session) {
20081
20097
  throw new Error("No active session");
@@ -20142,7 +20158,7 @@ async function executeWarpTransactions(txs, walletClient) {
20142
20158
  }
20143
20159
  if (!TARGET_TX_CATEGORIES.includes(tx.category)) {
20144
20160
  useBridgeStore.getState().setBridgeTxStatus(`Tx receipt: ${tx.category || ""}...`);
20145
- const wagmiNonTransferReceipt = await (0, import_core5.waitForWagmiTransactionReceipt)(import_core5.wagmiConfig, {
20161
+ const wagmiNonTransferReceipt = await (0, import_core7.waitForWagmiTransactionReceipt)(import_core7.wagmiConfig, {
20146
20162
  chainId: publicClient.chain.id,
20147
20163
  hash: walletOpHash,
20148
20164
  pollingInterval: 6e3
@@ -20156,13 +20172,13 @@ async function executeWarpTransactions(txs, walletClient) {
20156
20172
  }
20157
20173
  return hashes;
20158
20174
  }
20159
- var import_core5, import_viem12, TARGET_TX_CATEGORIES;
20175
+ var import_core7, import_viem12, TARGET_TX_CATEGORIES;
20160
20176
  var init_executeWarpTxs = __esm({
20161
20177
  "src/internal/components/SendMenu/hyperbridge/lib/executeWarpTxs.ts"() {
20162
20178
  init_bundler();
20163
20179
  init_SessionContext();
20164
20180
  init_account2();
20165
- import_core5 = require("@embarkai/core");
20181
+ import_core7 = require("@embarkai/core");
20166
20182
  import_viem12 = require("viem");
20167
20183
  init_useBridgeStore();
20168
20184
  init_chains();
@@ -20616,7 +20632,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20616
20632
  enabled: bridgeSender === "direct-wallet" && !isSelectedTokenNative && !!directWalletAddress && !!routeTokenAddress && !!originChain,
20617
20633
  queryKey: [EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, originChain, directWalletAddress, routeTokenAddress],
20618
20634
  queryFn: async () => {
20619
- const chainTransport = import_core6.CHAINS_BROWSERS_TRANSPORTS[originChainMeta.chain.id] || (0, import_viem14.http)(originChainMeta.chain.rpcUrls.default.http[0]);
20635
+ const chainTransport = import_core8.CHAINS_BROWSERS_TRANSPORTS[originChainMeta.chain.id] || (0, import_viem14.http)(originChainMeta.chain.rpcUrls.default.http[0]);
20620
20636
  const client = (0, import_viem14.createPublicClient)({
20621
20637
  chain: originChainMeta.chain,
20622
20638
  transport: chainTransport
@@ -20659,7 +20675,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20659
20675
  enabled: bridgeSender === "direct-wallet" && isSelectedTokenNative && !!directWalletAddress && !!originChain,
20660
20676
  queryKey: [EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY, originChain, directWalletAddress],
20661
20677
  queryFn: async () => {
20662
- const chainTransport = import_core6.CHAINS_BROWSERS_TRANSPORTS[originChainMeta.chain.id] || (0, import_viem14.http)(originChainMeta.chain.rpcUrls.default.http[0]);
20678
+ const chainTransport = import_core8.CHAINS_BROWSERS_TRANSPORTS[originChainMeta.chain.id] || (0, import_viem14.http)(originChainMeta.chain.rpcUrls.default.http[0]);
20663
20679
  const client = (0, import_viem14.createPublicClient)({ chain: originChainMeta.chain, transport: chainTransport });
20664
20680
  const rawBalance = await client.getBalance({ address: directWalletAddress });
20665
20681
  return {
@@ -20716,12 +20732,12 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20716
20732
  isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
20717
20733
  };
20718
20734
  }
20719
- var import_core6, import_react_query49, import_react69, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
20735
+ var import_core8, import_react_query49, import_react69, import_viem14, import_wagmi5, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, EXTERNAL_WALLET_BRIDGING_NATIVE_BALANCE_QUERY;
20720
20736
  var init_useBridgeBalance = __esm({
20721
20737
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
20722
20738
  init_SessionContext();
20723
20739
  init_i18n();
20724
- import_core6 = require("@embarkai/core");
20740
+ import_core8 = require("@embarkai/core");
20725
20741
  import_react_query49 = require("@tanstack/react-query");
20726
20742
  import_react69 = require("react");
20727
20743
  import_viem14 = require("viem");
@@ -24631,7 +24647,7 @@ var init_package = __esm({
24631
24647
  "package.json"() {
24632
24648
  package_default = {
24633
24649
  name: "@embarkai/ui-kit",
24634
- version: "0.4.65",
24650
+ version: "0.4.67",
24635
24651
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
24636
24652
  type: "module",
24637
24653
  main: "./dist/index.cjs",
@@ -28428,14 +28444,14 @@ var init_utils12 = __esm({
28428
28444
  });
28429
28445
 
28430
28446
  // src/context/WagmiContext.tsx
28431
- var import_core7, import_wagmi12, import_jsx_runtime124, WagmiProvider2;
28447
+ var import_core9, import_wagmi12, import_jsx_runtime124, WagmiProvider2;
28432
28448
  var init_WagmiContext = __esm({
28433
28449
  "src/context/WagmiContext.tsx"() {
28434
- import_core7 = require("@embarkai/core");
28450
+ import_core9 = require("@embarkai/core");
28435
28451
  import_wagmi12 = require("wagmi");
28436
28452
  import_jsx_runtime124 = require("react/jsx-runtime");
28437
28453
  WagmiProvider2 = ({ children }) => {
28438
- return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_wagmi12.WagmiProvider, { config: import_core7.wagmiConfig, children });
28454
+ return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_wagmi12.WagmiProvider, { config: import_core9.wagmiConfig, children });
28439
28455
  };
28440
28456
  }
28441
28457
  });
@@ -28683,7 +28699,7 @@ __export(index_exports, {
28683
28699
  useWalletMode: () => useWalletMode,
28684
28700
  verifyFingerprint: () => verifyFingerprint,
28685
28701
  verifyFingerprintDetailed: () => verifyFingerprintDetailed,
28686
- wagmiConfig: () => import_core8.wagmiConfig,
28702
+ wagmiConfig: () => import_core10.wagmiConfig,
28687
28703
  waitForStoreHydration: () => waitForStoreHydration,
28688
28704
  waitForUserOperationReceipt: () => waitForUserOperationReceipt
28689
28705
  });
@@ -28693,7 +28709,7 @@ module.exports = __toCommonJS(index_exports);
28693
28709
  var built_default = `.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.embarkai-ui-scope .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.embarkai-ui-scope .pointer-events-none{pointer-events:none}.embarkai-ui-scope .pointer-events-auto{pointer-events:auto}.embarkai-ui-scope .visible{visibility:visible}.embarkai-ui-scope .invisible{visibility:hidden}.embarkai-ui-scope .static{position:static}.embarkai-ui-scope .fixed{position:fixed}.embarkai-ui-scope .absolute{position:absolute}.embarkai-ui-scope .relative{position:relative}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-1{top:-.25rem}.embarkai-ui-scope .-top-2{top:-.5rem}.embarkai-ui-scope .bottom-0{bottom:0}.embarkai-ui-scope .bottom-full{bottom:100%}.embarkai-ui-scope .left-0{left:0}.embarkai-ui-scope .left-1\\/2{left:50%}.embarkai-ui-scope .left-4{left:1rem}.embarkai-ui-scope .right-0{right:0}.embarkai-ui-scope .right-2{right:.5rem}.embarkai-ui-scope .right-3{right:.75rem}.embarkai-ui-scope .right-4{right:1rem}.embarkai-ui-scope .right-\\[var\\(--ui-kit-pd\\)\\]{right:var(--ui-kit-pd)}.embarkai-ui-scope .right-full{right:100%}.embarkai-ui-scope .top-0{top:0}.embarkai-ui-scope .top-1\\/2{top:50%}.embarkai-ui-scope .top-2{top:.5rem}.embarkai-ui-scope .top-4{top:1rem}.embarkai-ui-scope .top-\\[var\\(--ui-kit-pd\\)\\]{top:var(--ui-kit-pd)}.embarkai-ui-scope .z-10{z-index:10}.embarkai-ui-scope .z-50{z-index:50}.embarkai-ui-scope .z-\\[9998\\]{z-index:9998}.embarkai-ui-scope .z-\\[9999\\]{z-index:9999}.embarkai-ui-scope .-m-px{margin:-1px}.embarkai-ui-scope .-mx-1{margin-left:-.25rem;margin-right:-.25rem}.embarkai-ui-scope .mx-auto{margin-left:auto;margin-right:auto}.embarkai-ui-scope .my-1{margin-top:.25rem;margin-bottom:.25rem}.embarkai-ui-scope .mb-1{margin-bottom:.25rem}.embarkai-ui-scope .mb-2{margin-bottom:.5rem}.embarkai-ui-scope .mb-3{margin-bottom:.75rem}.embarkai-ui-scope .mb-4{margin-bottom:1rem}.embarkai-ui-scope .ml-1{margin-left:.25rem}.embarkai-ui-scope .ml-2{margin-left:.5rem}.embarkai-ui-scope .ml-auto{margin-left:auto}.embarkai-ui-scope .mr-1{margin-right:.25rem}.embarkai-ui-scope .mt-0\\.5{margin-top:.125rem}.embarkai-ui-scope .mt-1{margin-top:.25rem}.embarkai-ui-scope .mt-2{margin-top:.5rem}.embarkai-ui-scope .mt-4{margin-top:1rem}.embarkai-ui-scope .block{display:block}.embarkai-ui-scope .inline-block{display:inline-block}.embarkai-ui-scope .inline{display:inline}.embarkai-ui-scope .flex{display:flex}.embarkai-ui-scope .inline-flex{display:inline-flex}.embarkai-ui-scope .table{display:table}.embarkai-ui-scope .grid{display:grid}.embarkai-ui-scope .hidden{display:none}.embarkai-ui-scope .aspect-square{aspect-ratio:1/1}.embarkai-ui-scope .size-4{width:1rem;height:1rem}.embarkai-ui-scope .size-8{width:2rem;height:2rem}.embarkai-ui-scope .size-auto{width:auto;height:auto}.embarkai-ui-scope .h-0{height:0}.embarkai-ui-scope .h-1{height:.25rem}.embarkai-ui-scope .h-10{height:2.5rem}.embarkai-ui-scope .h-12{height:3rem}.embarkai-ui-scope .h-16{height:4rem}.embarkai-ui-scope .h-3{height:.75rem}.embarkai-ui-scope .h-3\\.5{height:.875rem}.embarkai-ui-scope .h-4{height:1rem}.embarkai-ui-scope .h-48{height:12rem}.embarkai-ui-scope .h-5{height:1.25rem}.embarkai-ui-scope .h-6{height:1.5rem}.embarkai-ui-scope .h-7{height:1.75rem}.embarkai-ui-scope .h-8{height:2rem}.embarkai-ui-scope .h-\\[100dvh\\]{height:100dvh}.embarkai-ui-scope .h-\\[48px\\]{height:48px}.embarkai-ui-scope .h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.embarkai-ui-scope .h-auto{height:auto}.embarkai-ui-scope .h-fit{height:-moz-fit-content;height:fit-content}.embarkai-ui-scope .h-full{height:100%}.embarkai-ui-scope .h-px{height:1px}.embarkai-ui-scope .max-h-96{max-height:24rem}.embarkai-ui-scope .max-h-\\[95dvh\\]{max-height:95dvh}.embarkai-ui-scope .min-h-10{min-height:2.5rem}.embarkai-ui-scope .min-h-12{min-height:3rem}.embarkai-ui-scope .w-1{width:.25rem}.embarkai-ui-scope .w-1\\/2{width:50%}.embarkai-ui-scope .w-10{width:2.5rem}.embarkai-ui-scope .w-12{width:3rem}.embarkai-ui-scope .w-16{width:4rem}.embarkai-ui-scope .w-3{width:.75rem}.embarkai-ui-scope .w-3\\.5{width:.875rem}.embarkai-ui-scope .w-4{width:1rem}.embarkai-ui-scope .w-48{width:12rem}.embarkai-ui-scope .w-5{width:1.25rem}.embarkai-ui-scope .w-6{width:1.5rem}.embarkai-ui-scope .w-7{width:1.75rem}.embarkai-ui-scope .w-8{width:2rem}.embarkai-ui-scope .w-\\[100dvw\\]{width:100dvw}.embarkai-ui-scope .w-\\[40px\\]{width:40px}.embarkai-ui-scope .w-\\[var\\(--ui-kit-maw\\)\\]{width:var(--ui-kit-maw)}.embarkai-ui-scope .w-fit{width:-moz-fit-content;width:fit-content}.embarkai-ui-scope .w-full{width:100%}.embarkai-ui-scope .w-px{width:1px}.embarkai-ui-scope .min-w-0{min-width:0}.embarkai-ui-scope .min-w-10{min-width:2.5rem}.embarkai-ui-scope .min-w-16{min-width:4rem}.embarkai-ui-scope .min-w-\\[256px\\]{min-width:256px}.embarkai-ui-scope .min-w-\\[8rem\\]{min-width:8rem}.embarkai-ui-scope .min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.embarkai-ui-scope .max-w-\\[100px\\]{max-width:100px}.embarkai-ui-scope .max-w-\\[144px\\]{max-width:144px}.embarkai-ui-scope .max-w-\\[150px\\]{max-width:150px}.embarkai-ui-scope .max-w-\\[160px\\]{max-width:160px}.embarkai-ui-scope .max-w-\\[256px\\]{max-width:256px}.embarkai-ui-scope .max-w-\\[680px\\]{max-width:680px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-8px\\)\\]{max-width:calc(50% - 8px)}.embarkai-ui-scope .max-w-full{max-width:100%}.embarkai-ui-scope .max-w-sm{max-width:24rem}.embarkai-ui-scope .flex-1{flex:1 1 0%}.embarkai-ui-scope .flex-none{flex:none}.embarkai-ui-scope .flex-shrink-0,.embarkai-ui-scope .shrink-0{flex-shrink:0}.embarkai-ui-scope .-translate-x-1\\/2{--tw-translate-x:-50%}.embarkai-ui-scope .-translate-x-1\\/2,.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-x-\\[var\\(--ui-kit-gap\\)\\]{--tw-translate-x:calc(var(--ui-kit-gap)*-1)}.embarkai-ui-scope .-translate-y-1\\/2{--tw-translate-y:-50%}.embarkai-ui-scope .-translate-y-1\\/2,.embarkai-ui-scope .-translate-y-1\\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .-translate-y-1\\/3{--tw-translate-y:-33.333333%}.embarkai-ui-scope .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes glow-warning{0%,to{transform:scale(1);box-shadow:0 0 16px var(--ui-kit-bg-warning)}50%{transform:scale(.97);box-shadow:0 0 4px var(--ui-kit-bg-warning)}}.embarkai-ui-scope .animate-glow-warning{animation:glow-warning 2s ease infinite}@keyframes pulse{50%{opacity:.5}}.embarkai-ui-scope .animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.embarkai-ui-scope .animate-spin{animation:spin 1s linear infinite}.embarkai-ui-scope .cursor-default{cursor:default}.embarkai-ui-scope .cursor-help{cursor:help}.embarkai-ui-scope .cursor-pointer{cursor:pointer}.embarkai-ui-scope .cursor-text{cursor:text}.embarkai-ui-scope .select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.embarkai-ui-scope .select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.embarkai-ui-scope .scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.embarkai-ui-scope .list-inside{list-style-position:inside}.embarkai-ui-scope .list-disc{list-style-type:disc}.embarkai-ui-scope .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.embarkai-ui-scope .grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.embarkai-ui-scope .flex-col{flex-direction:column}.embarkai-ui-scope .flex-col-reverse{flex-direction:column-reverse}.embarkai-ui-scope .flex-wrap{flex-wrap:wrap}.embarkai-ui-scope .place-content-center{place-content:center}.embarkai-ui-scope .items-start{align-items:flex-start}.embarkai-ui-scope .items-end{align-items:flex-end}.embarkai-ui-scope .items-center{align-items:center}.embarkai-ui-scope .justify-start{justify-content:flex-start}.embarkai-ui-scope .justify-end{justify-content:flex-end}.embarkai-ui-scope .justify-center{justify-content:center}.embarkai-ui-scope .justify-between{justify-content:space-between}.embarkai-ui-scope .gap-0{gap:0}.embarkai-ui-scope .gap-1{gap:.25rem}.embarkai-ui-scope .gap-2{gap:.5rem}.embarkai-ui-scope .gap-3{gap:.75rem}.embarkai-ui-scope .gap-4{gap:1rem}.embarkai-ui-scope .gap-\\[10px\\]{gap:10px}.embarkai-ui-scope .gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope :is(.space-y-0\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.125rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-1\\.5>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.embarkai-ui-scope :is(.space-y-2>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.embarkai-ui-scope .overflow-hidden{overflow:hidden}.embarkai-ui-scope .overflow-y-auto{overflow-y:auto}.embarkai-ui-scope .overflow-x-hidden{overflow-x:hidden}.embarkai-ui-scope .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embarkai-ui-scope .text-ellipsis{text-overflow:ellipsis}.embarkai-ui-scope .whitespace-nowrap{white-space:nowrap}.embarkai-ui-scope .whitespace-pre-line{white-space:pre-line}.embarkai-ui-scope .whitespace-pre-wrap{white-space:pre-wrap}.embarkai-ui-scope .break-normal{overflow-wrap:normal;word-break:normal}.embarkai-ui-scope .break-words{overflow-wrap:break-word}.embarkai-ui-scope .break-all{word-break:break-all}.embarkai-ui-scope .rounded{border-radius:.25rem}.embarkai-ui-scope .rounded-\\[10px\\]{border-radius:10px}.embarkai-ui-scope .rounded-\\[8px\\]{border-radius:8px}.embarkai-ui-scope .rounded-\\[calc\\(var\\(--ui-kit-el-bdrs\\)_\\/_2\\)\\]{border-radius:calc(var(--ui-kit-el-bdrs)/2)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-bdrs\\)\\]{border-radius:var(--ui-kit-bdrs)}.embarkai-ui-scope .rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .rounded-full{border-radius:9999px}.embarkai-ui-scope .rounded-lg{border-radius:.5rem}.embarkai-ui-scope .rounded-md{border-radius:.375rem}.embarkai-ui-scope .rounded-xl{border-radius:.75rem}.embarkai-ui-scope .border{border-width:1px}.embarkai-ui-scope .border-0{border-width:0}.embarkai-ui-scope .border-2{border-width:2px}.embarkai-ui-scope .border-b{border-bottom-width:1px}.embarkai-ui-scope .border-t{border-top-width:1px}.embarkai-ui-scope .border-dashed{border-style:dashed}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bd\\)\\]{border-color:var(--ui-kit-bd)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-error\\)\\]{border-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-success\\)\\]{border-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-bg-warning\\)\\]{border-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-error\\)\\]{border-color:var(--ui-kit-error)}.embarkai-ui-scope .border-\\[var\\(--ui-kit-secondary\\)\\]{border-color:var(--ui-kit-secondary)}.embarkai-ui-scope .border-current{border-color:currentColor}.embarkai-ui-scope .border-transparent{border-color:transparent}.embarkai-ui-scope .border-t-transparent{border-top-color:transparent}.embarkai-ui-scope .bg-\\[\\#002c15\\]{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#081f2c\\]{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f0f6f8\\]{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[\\#f3ba2f\\]{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg\\)\\]{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-error\\)\\]{background-color:var(--ui-kit-bg-error)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-info\\)\\]{background-color:var(--ui-kit-bg-info)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-secondary\\)\\]{background-color:var(--ui-kit-bg-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-success\\)\\]{background-color:var(--ui-kit-bg-success)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-bg-warning\\)\\]{background-color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-fg\\)\\]{background-color:var(--ui-kit-fg)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-overlay\\)\\]{background-color:var(--ui-kit-overlay)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-primary\\)\\]{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary\\)\\]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .bg-\\[var\\(--ui-kit-secondary-h\\)\\]{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.embarkai-ui-scope .bg-transparent{background-color:transparent}.embarkai-ui-scope .fill-\\[var\\(--ui-kit-bg-warning\\)\\]{fill:var(--ui-kit-bg-warning)}.embarkai-ui-scope .object-contain{-o-object-fit:contain;object-fit:contain}.embarkai-ui-scope .object-cover{-o-object-fit:cover;object-fit:cover}.embarkai-ui-scope .p-0{padding:0}.embarkai-ui-scope .p-1{padding:.25rem}.embarkai-ui-scope .p-2{padding:.5rem}.embarkai-ui-scope .p-3{padding:.75rem}.embarkai-ui-scope .p-4{padding:1rem}.embarkai-ui-scope .p-5{padding:1.25rem}.embarkai-ui-scope .p-6{padding:1.5rem}.embarkai-ui-scope .p-8{padding:2rem}.embarkai-ui-scope .p-\\[2px\\]{padding:2px}.embarkai-ui-scope .p-\\[var\\(--ui-kit-gap\\)\\]{padding:var(--ui-kit-gap)}.embarkai-ui-scope .p-\\[var\\(--ui-kit-pd\\)\\]{padding:var(--ui-kit-pd)}.embarkai-ui-scope .px-0{padding-left:0;padding-right:0}.embarkai-ui-scope .px-1{padding-left:.25rem;padding-right:.25rem}.embarkai-ui-scope .px-2{padding-left:.5rem;padding-right:.5rem}.embarkai-ui-scope .px-3{padding-left:.75rem;padding-right:.75rem}.embarkai-ui-scope .px-4{padding-left:1rem;padding-right:1rem}.embarkai-ui-scope .px-5{padding-left:1.25rem;padding-right:1.25rem}.embarkai-ui-scope .px-8{padding-left:2rem;padding-right:2rem}.embarkai-ui-scope .px-\\[var\\(--ui-kit-gap\\)\\]{padding-left:var(--ui-kit-gap);padding-right:var(--ui-kit-gap)}.embarkai-ui-scope .px-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .py-0{padding-top:0;padding-bottom:0}.embarkai-ui-scope .py-1{padding-top:.25rem;padding-bottom:.25rem}.embarkai-ui-scope .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.embarkai-ui-scope .py-2{padding-top:.5rem;padding-bottom:.5rem}.embarkai-ui-scope .py-3{padding-top:.75rem;padding-bottom:.75rem}.embarkai-ui-scope .py-4{padding-top:1rem;padding-bottom:1rem}.embarkai-ui-scope .py-8{padding-top:2rem;padding-bottom:2rem}.embarkai-ui-scope .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.embarkai-ui-scope .py-\\[var\\(--ui-kit-gap\\)\\]{padding-top:var(--ui-kit-gap);padding-bottom:var(--ui-kit-gap)}.embarkai-ui-scope .py-\\[var\\(--ui-kit-pd\\)\\]{padding-top:var(--ui-kit-pd);padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pb-2{padding-bottom:.5rem}.embarkai-ui-scope .pb-5{padding-bottom:1.25rem}.embarkai-ui-scope .pb-6{padding-bottom:1.5rem}.embarkai-ui-scope .pb-\\[var\\(--ui-kit-pd\\)\\]{padding-bottom:var(--ui-kit-pd)}.embarkai-ui-scope .pl-\\[var\\(--ui-kit-pd\\)\\]{padding-left:var(--ui-kit-pd)}.embarkai-ui-scope .pr-8{padding-right:2rem}.embarkai-ui-scope .pt-3{padding-top:.75rem}.embarkai-ui-scope .pt-4{padding-top:1rem}.embarkai-ui-scope .pt-5{padding-top:1.25rem}.embarkai-ui-scope .text-left{text-align:left}.embarkai-ui-scope .text-center{text-align:center}.embarkai-ui-scope .text-right{text-align:right}.embarkai-ui-scope .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.embarkai-ui-scope .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.embarkai-ui-scope .text-2xl{font-size:1.5rem;line-height:2rem}.embarkai-ui-scope .text-\\[10px\\]{font-size:10px}.embarkai-ui-scope .text-\\[14px\\]{font-size:14px}.embarkai-ui-scope .text-\\[16px\\]{font-size:16px}.embarkai-ui-scope .text-\\[8px\\]{font-size:8px}.embarkai-ui-scope .text-lg{font-size:1.125rem;line-height:1.75rem}.embarkai-ui-scope .text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .text-xl{font-size:1.25rem;line-height:1.75rem}.embarkai-ui-scope .text-xs{font-size:.75rem;line-height:1rem}.embarkai-ui-scope .font-bold{font-weight:700}.embarkai-ui-scope .font-medium{font-weight:500}.embarkai-ui-scope .font-normal{font-weight:400}.embarkai-ui-scope .font-semibold{font-weight:600}.embarkai-ui-scope .uppercase{text-transform:uppercase}.embarkai-ui-scope .lowercase{text-transform:lowercase}.embarkai-ui-scope .leading-3{line-height:.75rem}.embarkai-ui-scope .leading-4{line-height:1rem}.embarkai-ui-scope .leading-5{line-height:1.25rem}.embarkai-ui-scope .leading-6{line-height:1.5rem}.embarkai-ui-scope .leading-7{line-height:1.75rem}.embarkai-ui-scope .leading-8{line-height:2rem}.embarkai-ui-scope .leading-\\[8px\\]{line-height:8px}.embarkai-ui-scope .leading-none{line-height:1}.embarkai-ui-scope .leading-tight{line-height:1.25}.embarkai-ui-scope .tracking-\\[0\\.3em\\]{letter-spacing:.3em}.embarkai-ui-scope .tracking-tight{letter-spacing:-.025em}.embarkai-ui-scope .text-\\[\\#c3f53c\\]{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-error\\)\\]{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-success\\)\\]{color:var(--ui-kit-bg-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-bg-warning\\)\\]{color:var(--ui-kit-bg-warning)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-error\\)\\]{color:var(--ui-kit-error)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg\\)\\]{color:var(--ui-kit-fg)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-inverted\\)\\]{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-fg-muted\\)\\]{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-info\\)\\]{color:var(--ui-kit-info)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-primary\\)\\]{color:var(--ui-kit-primary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-success\\)\\]{color:var(--ui-kit-success)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-text-secondary\\)\\]{color:var(--ui-kit-text-secondary)}.embarkai-ui-scope .text-\\[var\\(--ui-kit-warning\\)\\]{color:var(--ui-kit-warning)}.embarkai-ui-scope .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.embarkai-ui-scope .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.embarkai-ui-scope .underline{text-decoration-line:underline}.embarkai-ui-scope .underline-offset-2{text-underline-offset:2px}.embarkai-ui-scope .underline-offset-4{text-underline-offset:4px}.embarkai-ui-scope .antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope .opacity-0{opacity:0}.embarkai-ui-scope .opacity-100{opacity:1}.embarkai-ui-scope .opacity-50{opacity:.5}.embarkai-ui-scope .opacity-60{opacity:.6}.embarkai-ui-scope .shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.embarkai-ui-scope .shadow,.embarkai-ui-scope .shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.embarkai-ui-scope .shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.embarkai-ui-scope .outline-none{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .outline{outline-style:solid}.embarkai-ui-scope .blur{--tw-blur:blur(8px)}.embarkai-ui-scope .blur,.embarkai-ui-scope .grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .grayscale{--tw-grayscale:grayscale(100%)}.embarkai-ui-scope .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-\\[color\\2c box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .transition-none{transition-property:none}.embarkai-ui-scope .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.embarkai-ui-scope .duration-200{transition-duration:.2s}.embarkai-ui-scope .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.embarkai-ui-scope{--ui-kit-ff:var(--embark-ui-ff,-apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif);--ui-kit-maw:var(--embark-ui-maw,384px);--ui-kit-pd:var(--embark-ui-pd,12px);--ui-kit-gap:var(--embark-ui-gap,10px);--ui-kit-bdrs:var(--embark-ui-bdrs,20px);--ui-kit-el-bdrs:var(--embark-ui-element-bdrs,10px);--ui-kit-backdrop-blur:var(--embark-ui-backdrop-blur,10px)}.embarkai-ui-scope[data-current-theme-mode=light]{--ui-kit-overlay:var(--embark-ui-overlay,hsla(0,0%,100%,.8));--ui-kit-bg:var(--embark-ui-bg,#fff);--ui-kit-fg:var(--embark-ui-fg,#000);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#fff);--ui-kit-fg-muted:var(--embark-ui-fg-muted,rgba(0,0,0,.6));--ui-kit-primary:var(--embark-ui-primary,#000);--ui-kit-primary-h:var(--embark-ui-primary-h,rgba(0,0,0,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,rgba(0,0,0,.6));--ui-kit-secondary:var(--embark-ui-secondary,#e4e4e4);--ui-kit-secondary-h:var(--embark-ui-secondary-h,hsla(0,0%,89%,.8));--ui-kit-secondary-a:var(--embark-ui-secondary-a,hsla(0,0%,89%,.6));--ui-kit-bd:var(--embark-ui-bd,#ebebeb);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#a9a9a9);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope[data-current-theme-mode=dark]{--ui-kit-overlay:var(--embark-ui-overlay,rgba(0,0,0,.8));--ui-kit-bg:var(--embark-ui-bg,#1a1a1a);--ui-kit-fg:var(--embark-ui-fg,#fff);--ui-kit-fg-inverted:var(--embark-ui-fg-inverted,#000);--ui-kit-fg-muted:var(--embark-ui-fg-muted,hsla(0,0%,100%,.6));--ui-kit-primary:var(--embark-ui-primary,#fff);--ui-kit-primary-h:var(--embark-ui-primary-h,hsla(0,0%,100%,.8));--ui-kit-primary-a:var(--embark-ui-primary-a,hsla(0,0%,100%,.6));--ui-kit-secondary:var(--embark-ui-secondary,#2a2a2a);--ui-kit-secondary-h:var(--embark-ui-secondary-h,rgba(42,42,42,.6));--ui-kit-secondary-a:var(--embark-ui-secondary-a,rgba(42,42,42,.4));--ui-kit-bd:var(--embark-ui-bd,#3a3a3a);--ui-kit-bd-intense:var(--embark-ui-bd-intense,#4a4a4a);--ui-kit-shadow:var(--embark-ui-shadow,0 0 0 0 transparent);--ui-kit-shadow-c:var(--embark-ui-shadow-c,rgba(0,0,0,.1));--ui-kit-info:var(--embark-ui-info,var(--ui-kit-fg));--ui-kit-bg-info:var(--embark-ui-bg-info,var(--ui-kit-secondary));--ui-kit-success:var(--embark-ui-success,#000);--ui-kit-bg-success:var(--embark-ui-bg-success,#21ff51);--ui-kit-warning:var(--embark-ui-warning,#000);--ui-kit-bg-warning:var(--embark-ui-bg-warning,#e9fa00);--ui-kit-error:var(--embark-ui-error,#fff);--ui-kit-bg-error:var(--embark-ui-bg-error,#d6204e)}.embarkai-ui-scope,.embarkai-ui-scope *{margin:0;box-sizing:border-box;font-family:var(--ui-kit-ff);font-optical-sizing:auto;-webkit-tap-highlight-color:transparent;-moz-tap-highlight-color:transparent;-ms-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.embarkai-ui-scope button,.embarkai-ui-scope h1,.embarkai-ui-scope h2,.embarkai-ui-scope h3,.embarkai-ui-scope h4,.embarkai-ui-scope h5,.embarkai-ui-scope h6,.embarkai-ui-scope input,.embarkai-ui-scope p,.embarkai-ui-scope select,.embarkai-ui-scope textarea{font-family:var(--ui-kit-ff)!important;margin:0}.embarkai-ui-scope button,.embarkai-ui-scope input,.embarkai-ui-scope select,.embarkai-ui-scope textarea{border-style:solid;outline:none!important;appearance:none!important;-webkit-appearance:none;-moz-appearance:none}.embarkai-ui-scope input,.embarkai-ui-scope textarea{font-size:16px!important}.embarkai-ui-scope .account-connect-button{box-shadow:0 4px 20px var(--ui-kit-shadow-c),inset 0 0 0 1px var(--ui-kit-bd);transition:transform .25s ease}.embarkai-ui-scope .account-connect-button:hover{transform:scale(1.02)}.embarkai-ui-scope .account-connect-button:active{transform:scale(1)}@keyframes lumia-mobile-dialog-fade-in{0%{opacity:0;transform:translateY(64px)}to{opacity:1;transform:translateY(0)}}@keyframes lumia-mobile-dialog-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(64px)}}.embarkai-ui-scope .animate-mobile-dialog-in{animation:lumia-mobile-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-mobile-dialog-out{animation:lumia-mobile-dialog-fade-out 375ms ease}@keyframes lumia-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes lumia-dialog-fade-out{0%{opacity:1}to{opacity:0}}.embarkai-ui-scope .animate-dialog-in{animation:lumia-dialog-fade-in 375ms ease}.embarkai-ui-scope .animate-dialog-out{animation:lumia-dialog-fade-out 375ms ease}.embarkai-ui-scope .list-scrollbar-y{width:100%;padding-right:var(--ui-kit-list-scrollbar-pd-r,0);overflow-y:auto;overflow-x:hidden;max-height:var(--ui-kit-scrollbar-mah,300px)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar{width:4px;height:4px}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-thumb{cursor:pointer;width:4px;border-radius:2px;background-color:var(--ui-kit-bd)}.embarkai-ui-scope .list-scrollbar-y::-webkit-scrollbar-track{margin-top:10px;margin-bottom:10px;background-color:transparent}.embarkai-ui-scope .noScrollbars::-webkit-scrollbar{display:none}.embarkai-ui-scope div[data-radix-popper-content-wrapper]{z-index:10000!important}@keyframes rotateShine{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.embarkai-ui-scope .button-shine-outline{position:absolute;top:0;left:0;width:100%;height:100%;padding:1px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0) border-box;-webkit-mask-composite:xor;mask-composite:exclude}.embarkai-ui-scope .button-shine-outline-shiner{position:absolute;top:50%;left:50%;width:500px;height:500px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0,var(--ui-kit-fg) 8%,transparent 24%);animation:rotateShine 3s linear infinite}.embarkai-ui-scope .file\\:mr-\\[var\\(--ui-kit-gap\\)\\]::file-selector-button{margin-right:var(--ui-kit-gap)}.embarkai-ui-scope .file\\:h-12::file-selector-button{height:3rem}.embarkai-ui-scope .file\\:cursor-pointer::file-selector-button{cursor:pointer}.embarkai-ui-scope .file\\:rounded-\\[var\\(--ui-kit-el-bdrs\\)\\]::file-selector-button{border-radius:var(--ui-kit-el-bdrs)}.embarkai-ui-scope .file\\:border-0::file-selector-button{border-width:0}.embarkai-ui-scope .file\\:bg-\\[var\\(--ui-kit-primary\\)\\]::file-selector-button{background-color:var(--ui-kit-primary)}.embarkai-ui-scope .file\\:bg-transparent::file-selector-button{background-color:transparent}.embarkai-ui-scope .file\\:px-\\[var\\(--ui-kit-pd\\)\\]::file-selector-button{padding-left:var(--ui-kit-pd);padding-right:var(--ui-kit-pd)}.embarkai-ui-scope .file\\:text-\\[16px\\]::file-selector-button{font-size:16px}.embarkai-ui-scope .file\\:text-base::file-selector-button{font-size:1rem;line-height:1.5rem}.embarkai-ui-scope .file\\:font-medium::file-selector-button{font-weight:500}.embarkai-ui-scope .file\\:text-\\[var\\(--ui-kit-fg-inverted\\)\\]::file-selector-button{color:var(--ui-kit-fg-inverted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::-moz-placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .placeholder\\:text-\\[var\\(--ui-kit-fg-muted\\)\\]::placeholder{color:var(--ui-kit-fg-muted)}.embarkai-ui-scope .focus-within\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus-within{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus-within\\:outline-none:focus-within{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .hover\\:bg-\\[\\#002c15\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 44 21/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#081f2c\\]:hover{--tw-bg-opacity:1;background-color:rgb(8 31 44/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f0f6f8\\]:hover{--tw-bg-opacity:1;background-color:rgb(240 246 248/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[\\#f3ba2f\\]:hover{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .hover\\:bg-\\[var\\(--ui-kit-secondary-h\\)\\]:hover{background-color:var(--ui-kit-secondary-h)}.embarkai-ui-scope .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[\\#c3f53c\\]:hover{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-\\[var\\(--ui-kit-fg\\)\\]:hover{color:var(--ui-kit-fg)}.embarkai-ui-scope .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.embarkai-ui-scope .hover\\:underline:hover{text-decoration-line:underline}.embarkai-ui-scope .hover\\:opacity-80:hover{opacity:.8}.embarkai-ui-scope .hover\\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.embarkai-ui-scope .file\\:hover\\:opacity-90:hover::file-selector-button{opacity:.9}.embarkai-ui-scope .focus\\:border-\\[var\\(--ui-kit-primary\\)\\]:focus{border-color:var(--ui-kit-primary)}.embarkai-ui-scope .focus\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:focus{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .focus\\:bg-transparent:focus{background-color:transparent}.embarkai-ui-scope .focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.embarkai-ui-scope .focus-visible\\:ring-0:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-\\[2px\\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.embarkai-ui-scope .focus-visible\\:ring-transparent:focus-visible{--tw-ring-color:transparent}.embarkai-ui-scope .focus-visible\\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px}.embarkai-ui-scope .active\\:bg-\\[\\#f3ba2f\\]:active{--tw-bg-opacity:1;background-color:rgb(243 186 47/var(--tw-bg-opacity,1))}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .active\\:bg-\\[var\\(--ui-kit-secondary-a\\)\\]:active{background-color:var(--ui-kit-secondary-a)}.embarkai-ui-scope .active\\:text-\\[\\#c3f53c\\]:active{--tw-text-opacity:1;color:rgb(195 245 60/var(--tw-text-opacity,1))}.embarkai-ui-scope .active\\:opacity-60:active{opacity:.6}.embarkai-ui-scope .file\\:active\\:opacity-80:active::file-selector-button{opacity:.8}.embarkai-ui-scope .disabled\\:cursor-default:disabled{cursor:default}.embarkai-ui-scope .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.embarkai-ui-scope .disabled\\:opacity-50:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-bg\\)\\]:hover:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:hover\\:bg-\\[var\\(--ui-kit-secondary\\)\\]:hover:disabled{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .disabled\\:hover\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:hover:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:hover\\:opacity-50:hover:disabled{opacity:.5}.embarkai-ui-scope .disabled\\:active\\:bg-\\[var\\(--ui-kit-bg\\)\\]:active:disabled{background-color:var(--ui-kit-bg)}.embarkai-ui-scope .disabled\\:active\\:text-\\[var\\(--ui-kit-bg-error\\)\\]:active:disabled{color:var(--ui-kit-bg-error)}.embarkai-ui-scope .disabled\\:active\\:opacity-50:active:disabled{opacity:.5}.embarkai-ui-scope :is(.group:hover .group-hover\\:opacity-100){opacity:1}.embarkai-ui-scope .data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.embarkai-ui-scope .data-\\[size\\=default\\]\\:h-12[data-size=default]{height:3rem}.embarkai-ui-scope .data-\\[size\\=sm\\]\\:h-10[data-size=sm]{height:2.5rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.embarkai-ui-scope .data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom],.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.embarkai-ui-scope .data-\\[side\\=right\\]\\:translate-x-1[data-side=right],.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.embarkai-ui-scope .data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:border-\\[var\\(--ui-kit-bd-intense\\)\\][data-state=checked]{border-color:var(--ui-kit-bd-intense)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:bg-\\[var\\(--ui-kit-secondary\\)\\][data-state=checked]{background-color:var(--ui-kit-secondary)}.embarkai-ui-scope .data-\\[state\\=checked\\]\\:text-\\[var\\(--ui-kit-fg\\)\\][data-state=checked]{color:var(--ui-kit-fg)}.embarkai-ui-scope .data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1[data-slot=select-value]>*){overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:flex[data-slot=select-value]>*){display:flex}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center[data-slot=select-value]>*){align-items:center}.embarkai-ui-scope :is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-\\[var\\(--ui-kit-gap\\)\\][data-slot=select-value]>*){gap:var(--ui-kit-gap)}@media (min-width:640px){.embarkai-ui-scope .sm\\:flex-row{flex-direction:row}.embarkai-ui-scope .sm\\:justify-end{justify-content:flex-end}.embarkai-ui-scope :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.embarkai-ui-scope .sm\\:text-left{text-align:left}}@media (min-width:768px){.embarkai-ui-scope .md\\:h-8{height:2rem}.embarkai-ui-scope .md\\:w-8{width:2rem}.embarkai-ui-scope .md\\:gap-\\[var\\(--ui-kit-gap\\)\\]{gap:var(--ui-kit-gap)}.embarkai-ui-scope .md\\:py-1{padding-top:.25rem;padding-bottom:.25rem}}.embarkai-ui-scope :is(.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-])){width:1rem;height:1rem}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:pointer-events-none svg){pointer-events:none}.embarkai-ui-scope :is(.\\[\\&_svg\\]\\:shrink-0 svg){flex-shrink:0}`;
28694
28710
 
28695
28711
  // src/index.ts
28696
- var import_core8 = require("@embarkai/core");
28712
+ var import_core10 = require("@embarkai/core");
28697
28713
  init_ProviderContext();
28698
28714
 
28699
28715
  // src/components/ConnectWalletButton.tsx
package/dist/index.d.cts CHANGED
@@ -1832,6 +1832,7 @@ declare function getAssetRate(symbol: string, asSymbol?: string): Promise<{
1832
1832
  price: string;
1833
1833
  }>;
1834
1834
  interface UseAssetRateOptions {
1835
+ disabled?: boolean;
1835
1836
  refetchInterval?: number;
1836
1837
  staleTime?: number;
1837
1838
  }
package/dist/index.d.ts CHANGED
@@ -1832,6 +1832,7 @@ declare function getAssetRate(symbol: string, asSymbol?: string): Promise<{
1832
1832
  price: string;
1833
1833
  }>;
1834
1834
  interface UseAssetRateOptions {
1835
+ disabled?: boolean;
1835
1836
  refetchInterval?: number;
1836
1837
  staleTime?: number;
1837
1838
  }
package/dist/index.js CHANGED
@@ -962,11 +962,12 @@ async function getAssetRate(symbol, asSymbol) {
962
962
  });
963
963
  }
964
964
  function useAssetUsdtRate(assetSymbol, options) {
965
- const { refetchInterval, staleTime } = options || {};
965
+ const { disabled, refetchInterval, staleTime } = options || {};
966
966
  const address = useSession((st) => st.address);
967
967
  return useQuery({
968
968
  queryKey: [ASSET_RATE_QUERY_KEY, address, assetSymbol],
969
- enabled: !!address && !!assetSymbol,
969
+ enabled: !disabled && !!address && !!assetSymbol,
970
+ // && !isProjectAsset && !isNft && !isSecurity
970
971
  refetchInterval: refetchInterval || BALANCE_POLLING_INTERVAL * 2,
971
972
  staleTime: staleTime || BALANCE_POLLING_INTERVAL * 2,
972
973
  // keeps the data fresh for 1 minute before considering it stale
@@ -983,34 +984,37 @@ var init_useAssetRate = __esm({
983
984
  });
984
985
 
985
986
  // src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx
987
+ import {
988
+ createBlockscoutClient
989
+ } from "@embarkai/core";
986
990
  import { NON_BLOCKSCOUT_CORE_TOKENS } from "@embarkai/core/read";
987
991
  import { useQuery as useQuery2 } from "@tanstack/react-query";
988
992
  import { useEffect, useState } from "react";
989
993
  import { erc20Abi, formatUnits } from "viem";
990
994
  function BalanceFeedProvider() {
991
995
  const config = useProviderConfig().config;
992
- const address = useSession((st) => st.address);
996
+ const embarkaiAddress = useSession((st) => st.address);
993
997
  const chainConfig = useSession((st) => st.chainConfig);
994
998
  const publicClient = useSession((st) => st.publicClient);
995
999
  const [balanceSymbol, setBalanceSymbol] = useState(null);
996
1000
  useEffect(
997
1001
  () => setBalanceSymbol(config?.current?.showBalanceAs || chainConfig.nativeCurrency.symbol),
998
- [config, address, chainConfig]
1002
+ [config, embarkaiAddress, chainConfig]
999
1003
  );
1000
1004
  useEffect(
1001
1005
  () => useLayoutDataStore.getState().setCryptoSymbol(chainConfig?.nativeCurrency?.symbol || "LUMIA"),
1002
- [chainConfig]
1006
+ [embarkaiAddress, chainConfig]
1003
1007
  );
1004
1008
  const { data: cryptoRate } = useAssetUsdtRate(balanceSymbol);
1005
1009
  const isNativeBalanceFeedEnabled = !!balanceSymbol && !!chainConfig?.nativeCurrency.symbol && balanceSymbol === chainConfig?.nativeCurrency.symbol;
1006
1010
  const { data: nativeBalance } = useQuery2({
1007
- enabled: !!isNativeBalanceFeedEnabled && !!address && !!publicClient,
1011
+ enabled: !!isNativeBalanceFeedEnabled && !!embarkaiAddress && !!publicClient,
1008
1012
  retry: false,
1009
1013
  refetchInterval: BALANCE_POLLING_INTERVAL,
1010
- queryKey: [NATIVE_BALANCE_QUERY_KEY, address, chainConfig?.nativeCurrency?.symbol],
1014
+ queryKey: [NATIVE_BALANCE_QUERY_KEY, embarkaiAddress, chainConfig?.nativeCurrency?.symbol],
1011
1015
  // Include chainId in query key to refetch when chain changes
1012
1016
  queryFn: async () => {
1013
- const balanceValue = await publicClient.getBalance({ address });
1017
+ const balanceValue = await publicClient.getBalance({ address: embarkaiAddress });
1014
1018
  return {
1015
1019
  decimals: chainConfig?.nativeCurrency?.decimals || 18,
1016
1020
  formatted: formatUnits(balanceValue, chainConfig?.nativeCurrency?.decimals || 18),
@@ -1040,7 +1044,7 @@ function BalanceFeedProvider() {
1040
1044
  const { data: projectAssetBalance } = useQuery2({
1041
1045
  retry: false,
1042
1046
  refetchInterval: BALANCE_POLLING_INTERVAL,
1043
- enabled: !!address && !!isProjectAssetBalanceEnabled,
1047
+ enabled: !!embarkaiAddress && !!isProjectAssetBalanceEnabled,
1044
1048
  queryKey: PROJECT_ASSET_BALANCE_QUERY_KEY,
1045
1049
  // should be invalidated by host app via provided queryKey
1046
1050
  queryFn: async () => await projectAssetBalanceQueryFn?.()
@@ -1062,20 +1066,33 @@ function BalanceFeedProvider() {
1062
1066
  }, [isProjectAssetBalanceEnabled, projectAssetBalance]);
1063
1067
  const isCustomAssetBalanceEnabled = !isNativeBalanceFeedEnabled && !isProjectAssetBalanceEnabled;
1064
1068
  const { data: customBalance } = useQuery2({
1065
- enabled: !!isCustomAssetBalanceEnabled && !!balanceSymbol && !!chainConfig?.id && !!address && !!publicClient,
1069
+ enabled: !!isCustomAssetBalanceEnabled && !!balanceSymbol && !!chainConfig?.id && !!embarkaiAddress && !!publicClient,
1066
1070
  retry: false,
1067
1071
  refetchInterval: BALANCE_POLLING_INTERVAL,
1068
1072
  // staleTime: 0,
1069
- queryKey: [CUSTOM_BALANCE_QUERY_KEY, chainConfig?.id, address, balanceSymbol],
1073
+ queryKey: [CUSTOM_BALANCE_QUERY_KEY, chainConfig?.id, embarkaiAddress, balanceSymbol],
1070
1074
  // Include chainId in query key to refetch when chain changes
1071
1075
  queryFn: async () => {
1072
- const coreTokenList = NON_BLOCKSCOUT_CORE_TOKENS[chainConfig?.id] || [];
1076
+ const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
1073
1077
  const watchTokensList = (config?.current?.watchTokens?.[chainConfig?.id] || []).map((el) => ({
1074
1078
  address: el.address,
1075
1079
  decimals: el.decimals,
1076
1080
  symbol: el.symbol
1077
1081
  }));
1078
- const customAssetList = [...watchTokensList, ...coreTokenList];
1082
+ const customAssetList = [];
1083
+ if (blockscoutApiUrl) {
1084
+ const blockscoutClient = createBlockscoutClient({ baseUrl: blockscoutApiUrl });
1085
+ const blockscoutTokens = await blockscoutClient.getTokenBalances(embarkaiAddress);
1086
+ const blockscoutAssets = blockscoutTokens.map((el) => ({
1087
+ address: el.token.address_hash,
1088
+ decimals: Number(el.token.decimals),
1089
+ symbol: el.token.symbol
1090
+ }));
1091
+ customAssetList.push(...watchTokensList, ...blockscoutAssets);
1092
+ } else {
1093
+ const coreTokenList = NON_BLOCKSCOUT_CORE_TOKENS[chainConfig?.id] || [];
1094
+ customAssetList.push(...watchTokensList, ...coreTokenList);
1095
+ }
1079
1096
  const { address: customAssetAddress, decimals: customAssetADecimals } = customAssetList.find((el) => el.symbol === balanceSymbol) || {};
1080
1097
  if (!customAssetAddress) {
1081
1098
  console.warn(`[BALANCE FEED] No token address found for symbol ${balanceSymbol} on chain ${chainConfig?.name}`);
@@ -1085,7 +1102,7 @@ function BalanceFeedProvider() {
1085
1102
  address: customAssetAddress,
1086
1103
  abi: erc20Abi,
1087
1104
  functionName: "balanceOf",
1088
- args: [address],
1105
+ args: [embarkaiAddress],
1089
1106
  authorizationList: void 0
1090
1107
  });
1091
1108
  return {
@@ -1111,6 +1128,7 @@ function BalanceFeedProvider() {
1111
1128
  }
1112
1129
  var init_BalanceFeedProvider = __esm({
1113
1130
  "src/internal/components/BalanceFeedProvider/BalanceFeedProvider.tsx"() {
1131
+ init_initial();
1114
1132
  init_ProviderContext();
1115
1133
  init_SessionContext();
1116
1134
  init_useLayoutDataStore();
@@ -17806,7 +17824,7 @@ var init_utils8 = __esm({
17806
17824
  });
17807
17825
 
17808
17826
  // src/internal/hooks/useBlockscoutAssets/useBlockscoutAssets.ts
17809
- import { createBlockscoutClient, nonBlockscoutClient } from "@embarkai/core/clients";
17827
+ import { createBlockscoutClient as createBlockscoutClient2, nonBlockscoutClient } from "@embarkai/core";
17810
17828
  import { useQuery as useQuery16, useQueryClient as useQueryClient19 } from "@tanstack/react-query";
17811
17829
  import { useCallback as useCallback23, useMemo as useMemo10, useRef as useRef15 } from "react";
17812
17830
  function useBlockscoutAssets(options) {
@@ -17820,7 +17838,7 @@ function useBlockscoutAssets(options) {
17820
17838
  } = useProviderConfig().config?.current?.portfolio || {};
17821
17839
  const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
17822
17840
  const blockscoutClient = useMemo10(
17823
- () => blockscoutApiUrl ? createBlockscoutClient({ baseUrl: blockscoutApiUrl }) : null,
17841
+ () => blockscoutApiUrl ? createBlockscoutClient2({ baseUrl: blockscoutApiUrl }) : null,
17824
17842
  [blockscoutApiUrl]
17825
17843
  );
17826
17844
  const lastRefreshRef = useRef15(0);
@@ -24536,7 +24554,7 @@ var init_package = __esm({
24536
24554
  "package.json"() {
24537
24555
  package_default = {
24538
24556
  name: "@embarkai/ui-kit",
24539
- version: "0.4.65",
24557
+ version: "0.4.67",
24540
24558
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
24541
24559
  type: "module",
24542
24560
  main: "./dist/index.cjs",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@embarkai/ui-kit",
3
- "version": "0.4.65",
3
+ "version": "0.4.67",
4
4
  "description": "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",