@embarkai/ui-kit 0.4.30 → 0.4.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -837,31 +837,31 @@ var PageKey, useLayoutDataStore;
837
837
  var init_useLayoutDataStore = __esm({
838
838
  "src/internal/hooks/useLayoutDataStore.ts"() {
839
839
  init_constants();
840
- PageKey = /* @__PURE__ */ ((PageKey4) => {
841
- PageKey4["AUTH"] = "auth";
842
- PageKey4["LANGUAGES"] = "languages";
843
- PageKey4["TERMS_OF_SERVICE"] = "terms-of-service";
844
- PageKey4["MAIN_MENU"] = "main-menu";
845
- PageKey4["SETTINGS"] = "settings";
846
- PageKey4["SEND"] = "send";
847
- PageKey4["RECEIVE"] = "receive";
848
- PageKey4["BUY"] = "buy";
849
- PageKey4["KYC"] = "kyc";
850
- PageKey4["TRANSACTIONS"] = "transactions";
851
- PageKey4["ASSETS"] = "assets";
852
- PageKey4["MANAGE_WALLET"] = "manage-wallet";
853
- PageKey4["UNLINK_PROVIDER"] = "unlink-provider";
854
- PageKey4["SECURITY"] = "security";
855
- PageKey4["KEYSARE_BACKUP"] = "keysare-backup";
856
- PageKey4["KEYSHARE_RESTORE"] = "keyshare-restore";
857
- PageKey4["CHAIN"] = "chain";
858
- PageKey4["CHAIN_SWITCH_REQUEST"] = "chain-switch-request";
859
- PageKey4["NICKNAME_SETTINGS"] = "nickname-settings";
860
- PageKey4["DEVICES"] = "devices";
861
- PageKey4["DEVICE_LINK"] = "device-link";
862
- PageKey4["DEVICE_MANAGE"] = "device-manage";
863
- PageKey4["DEVICE_RESTORE"] = "device-restore";
864
- return PageKey4;
840
+ PageKey = /* @__PURE__ */ ((PageKey3) => {
841
+ PageKey3["AUTH"] = "auth";
842
+ PageKey3["LANGUAGES"] = "languages";
843
+ PageKey3["TERMS_OF_SERVICE"] = "terms-of-service";
844
+ PageKey3["MAIN_MENU"] = "main-menu";
845
+ PageKey3["SETTINGS"] = "settings";
846
+ PageKey3["SEND"] = "send";
847
+ PageKey3["RECEIVE"] = "receive";
848
+ PageKey3["BUY"] = "buy";
849
+ PageKey3["KYC"] = "kyc";
850
+ PageKey3["TRANSACTIONS"] = "transactions";
851
+ PageKey3["ASSETS"] = "assets";
852
+ PageKey3["MANAGE_WALLET"] = "manage-wallet";
853
+ PageKey3["UNLINK_PROVIDER"] = "unlink-provider";
854
+ PageKey3["SECURITY"] = "security";
855
+ PageKey3["KEYSARE_BACKUP"] = "keysare-backup";
856
+ PageKey3["KEYSHARE_RESTORE"] = "keyshare-restore";
857
+ PageKey3["CHAIN"] = "chain";
858
+ PageKey3["CHAIN_SWITCH_REQUEST"] = "chain-switch-request";
859
+ PageKey3["NICKNAME_SETTINGS"] = "nickname-settings";
860
+ PageKey3["DEVICES"] = "devices";
861
+ PageKey3["DEVICE_LINK"] = "device-link";
862
+ PageKey3["DEVICE_MANAGE"] = "device-manage";
863
+ PageKey3["DEVICE_RESTORE"] = "device-restore";
864
+ return PageKey3;
865
865
  })(PageKey || {});
866
866
  useLayoutDataStore = create((set) => ({
867
867
  page: null,
@@ -5323,6 +5323,7 @@ var init_en = __esm({
5323
5323
  advanced: "Advanced",
5324
5324
  next: "Next",
5325
5325
  prev: "Prev",
5326
+ page: "Page",
5326
5327
  errors: {
5327
5328
  oops: "Oops, something went wrong. Please try again."
5328
5329
  }
@@ -5384,9 +5385,11 @@ var init_en = __esm({
5384
5385
  labels: {
5385
5386
  sender: "Sender",
5386
5387
  bridgeAsset: "Bridge {{asset}}",
5387
- selectToken: "Select Token Route",
5388
+ selectTokenAndRoute: "Select Token & Route",
5389
+ selectToken: "Select Token",
5388
5390
  estimations: "Estimations",
5389
5391
  estimatedFee: "Estimated Fee",
5392
+ availableChainPairs: "Available Chain Pairs",
5390
5393
  toChain: "To Chain",
5391
5394
  fromChain: "From Chain",
5392
5395
  optionalRecipient: "Recipient (optional, if empty - destination chain address = sender address on origin chain)",
@@ -5410,12 +5413,15 @@ var init_en = __esm({
5410
5413
  bridge: "BRIDGE",
5411
5414
  estimateQuote: "ESTIMATE QUOTE",
5412
5415
  bridgeAsset: "BRIDGE {{asset}}",
5416
+ selectAsset: "SELECT ASSET",
5413
5417
  confirmBridge: "I confirm bridging {{amount}} {{asset}} to {{destinationChain}}"
5414
5418
  },
5415
5419
  statuses: {
5416
5420
  txPrepare: "Preparing transactions...",
5417
5421
  txSending: "Sending {{txCount}} transactions...",
5418
- txSent: "Transactions sent. Delivery to {{destination}}"
5422
+ txSent: "Transactions sent. Delivery to {{destination}}",
5423
+ txWaitingReceipt: "Waiting for receipt...",
5424
+ txPatching: "Patching transaction..."
5419
5425
  },
5420
5426
  consent: {
5421
5427
  recipient: "IMPORTANT! Make sure the address {{address}} exists on the {{destinationChain}} chain and supports receiving bridged {{asset}}!",
@@ -5423,6 +5429,7 @@ var init_en = __esm({
5423
5429
  },
5424
5430
  errors: {
5425
5431
  directWalletWarn: "In order to bridge from your {{originWalletProvider}} wallet, you need to connect it first (since originally it provides embarkAi auth-profile, not a connection). You will be guided through the process in the next steps.",
5432
+ noWarpRoutes: "No bridge routes available",
5426
5433
  routeUnavailable: "The route {{originChain}} \u2194 {{destinationChain}} is currently unavailable. Please try again later or select a different route.",
5427
5434
  noConnections: "No connections found between {{originChain}} & {{destinationChain}}",
5428
5435
  wrongNetwork: " Please switch embarkAi to origin chain to proceed with bridging",
@@ -5635,6 +5642,7 @@ var init_ru = __esm({
5635
5642
  advanced: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439",
5636
5643
  next: "\u0421\u043B\u0435\u0434",
5637
5644
  prev: "\u041F\u0440\u0435\u0434",
5645
+ page: "\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
5638
5646
  errors: {
5639
5647
  oops: "\u0423\u043F\u0441, \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
5640
5648
  }
@@ -5694,10 +5702,13 @@ var init_ru = __esm({
5694
5702
  bridgeMenu: {
5695
5703
  title: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0410\u043A\u0442\u0438\u0432",
5696
5704
  labels: {
5705
+ sender: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C",
5697
5706
  bridgeAsset: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C {{asset}}",
5707
+ selectTokenAndRoute: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0442\u043E\u043A\u0435\u043D \u0438 \u043C\u0430\u0440\u0448\u0440\u0443\u0442",
5698
5708
  selectToken: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430",
5699
5709
  estimations: "\u041E\u0446\u0435\u043D\u043A\u0438",
5700
5710
  estimatedFee: "\u041E\u0436\u0438\u0434\u0430\u0435\u043C\u0430\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044F",
5711
+ availableChainPairs: "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043F\u0430\u0440\u044B \u0441\u0435\u0442\u0435\u0439",
5701
5712
  toChain: "\u0412 \u0441\u0435\u0442\u044C",
5702
5713
  fromChain: "\u0418\u0437 \u0441\u0435\u0442\u0438",
5703
5714
  optionalRecipient: "\u041F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044C (\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u0435\u0441\u043B\u0438 \u043F\u0443\u0441\u0442\u043E \u2014 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0438 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0432 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0441\u0435\u0442\u0438)",
@@ -5713,11 +5724,15 @@ var init_ru = __esm({
5713
5724
  localFee: "\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044F",
5714
5725
  tokenFee: "\u041A\u043E\u043C\u0438\u0441\u0441\u0438\u044F \u0442\u043E\u043A\u0435\u043D\u0430",
5715
5726
  igpSymbol: "\u0421\u0438\u043C\u0432\u043E\u043B IGP",
5716
- localSymbol: "\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0438\u043C\u0432\u043E\u043B"
5727
+ localSymbol: "\u041B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u0441\u0438\u043C\u0432\u043E\u043B",
5728
+ operationHash: "\u0425\u044D\u0448 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0438"
5717
5729
  },
5718
5730
  actions: {
5731
+ connectWallet: "\u041F\u041E\u0414\u041A\u041B\u042E\u0427\u0418\u0422\u042C \u041A\u041E\u0428\u0415\u041B\u0401\u041A",
5719
5732
  bridge: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C",
5733
+ estimateQuote: "\u0420\u0410\u0421\u0421\u0427\u0418\u0422\u0410\u0422\u042C \u0421\u0422\u041E\u0418\u041C\u041E\u0421\u0422\u042C",
5720
5734
  bridgeAsset: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C {{asset}}",
5735
+ selectAsset: "\u0412\u042B\u0411\u0420\u0410\u0422\u042C \u0410\u041A\u0422\u0418\u0412",
5721
5736
  confirmBridge: "\u041F\u041E\u0414\u0422\u0412\u0415\u0420\u0414\u0418\u0422\u042C \u041F\u0415\u0420\u0415\u041C\u0415\u0429\u0415\u041D\u0418\u0415"
5722
5737
  },
5723
5738
  statuses: {
@@ -5726,12 +5741,22 @@ var init_ru = __esm({
5726
5741
  txPrepare: "\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439...",
5727
5742
  txSending: "\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 {{txCount}} \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439...",
5728
5743
  txSent: "\u0422\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u044B. \u0414\u043E\u0441\u0442\u0430\u0432\u043A\u0430 \u0432 {{destination}}",
5729
- txExecuting: "\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F..."
5744
+ txExecuting: "\u0412\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F...",
5745
+ txWaitingReceipt: "\u041E\u0436\u0438\u0434\u0430\u043D\u0438\u0435 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F...",
5746
+ txPatching: "\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438..."
5747
+ },
5748
+ consent: {
5749
+ recipient: "\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415! \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u0430\u0434\u0440\u0435\u0441 {{address}} \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u0435\u0442\u0438 {{destinationChain}} \u0438 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0451\u043D\u043D\u044B\u0445 {{asset}}!",
5750
+ lostFunds: "\u0412 \u043F\u0440\u043E\u0442\u0438\u0432\u043D\u043E\u043C \u0441\u043B\u0443\u0447\u0430\u0435 \u0432\u0430\u0448\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043F\u043E\u0442\u0435\u0440\u044F\u043D\u044B."
5730
5751
  },
5731
5752
  errors: {
5753
+ directWalletWarn: "\u0427\u0442\u043E\u0431\u044B \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0438\u0437 \u0432\u0430\u0448\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 {{originWalletProvider}}, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0435\u0433\u043E (\u043F\u043E\u0441\u043A\u043E\u043B\u044C\u043A\u0443 \u0438\u0437\u043D\u0430\u0447\u0430\u043B\u044C\u043D\u043E \u043E\u043D \u043F\u0440\u0435\u0434\u043E\u0441\u0442\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u0440\u043E\u0444\u0438\u043B\u044C \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 embarkAi, \u0430 \u043D\u0435 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0435). \u041D\u0430 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0445 \u0448\u0430\u0433\u0430\u0445 \u0432\u044B \u043F\u0440\u043E\u0439\u0434\u0451\u0442\u0435 \u044D\u0442\u043E\u0442 \u043F\u0440\u043E\u0446\u0435\u0441\u0441.",
5754
+ noWarpRoutes: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442\u044B \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B",
5732
5755
  routeUnavailable: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 {{originChain}} \u2194 {{destinationChain}} \u0432 \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0435\u0435 \u0432\u0440\u0435\u043C\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u043F\u044B\u0442\u043A\u0443 \u043F\u043E\u0437\u0436\u0435 \u0438\u043B\u0438 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u043C\u0430\u0440\u0448\u0440\u0443\u0442.",
5733
5756
  noConnections: "\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0439 \u043C\u0435\u0436\u0434\u0443 {{originChain}} \u0438 {{destinationChain}} \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
5734
- wrongNetwork: " \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u0435 EmbarkAI \u043D\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0441\u0435\u0442\u044C \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F"
5757
+ wrongNetwork: " \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u0435 EmbarkAI \u043D\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0441\u0435\u0442\u044C \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
5758
+ noHistory: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0439 \u043F\u0443\u0441\u0442\u0430. \u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0432\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0437\u0434\u0435\u0441\u044C.",
5759
+ unsupportedNetwork: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 \u0441\u0435\u0442\u0438 {{originChain}} \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0434\u043B\u044F {{sender}}. \u041F\u043E\u043C\u0435\u043D\u044F\u0439\u0442\u0435 \u0441\u0435\u0442\u0438 \u043C\u0435\u0441\u0442\u0430\u043C\u0438, \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0440\u0443\u0433\u043E\u0439 \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430 \u0438\u043B\u0438 \u0441\u043C\u0435\u043D\u0438\u0442\u0435 \u043A\u043E\u0448\u0435\u043B\u0451\u043A \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F"
5735
5760
  }
5736
5761
  },
5737
5762
  receiveMenu: {
@@ -5939,6 +5964,7 @@ var init_zh = __esm({
5939
5964
  advanced: "\u9AD8\u7EA7",
5940
5965
  next: "\u4E0B\u4E00\u6B65",
5941
5966
  prev: "\u4E0A\u4E00\u6B65",
5967
+ page: "\u9875\u9762",
5942
5968
  errors: {
5943
5969
  oops: "\u54CE\u5440\uFF0C\u51FA\u4E86\u70B9\u95EE\u9898\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002"
5944
5970
  }
@@ -5998,10 +6024,13 @@ var init_zh = __esm({
5998
6024
  bridgeMenu: {
5999
6025
  title: "\u8DE8\u94FE\u8D44\u4EA7",
6000
6026
  labels: {
6027
+ sender: "\u53D1\u9001\u65B9",
6001
6028
  bridgeAsset: "\u8DE8\u94FE {{asset}}",
6029
+ selectTokenAndRoute: "\u9009\u62E9\u4EE3\u5E01\u548C\u8DEF\u7531",
6002
6030
  selectToken: "\u9009\u62E9\u4EE3\u5E01\u8DEF\u7531",
6003
6031
  estimations: "\u9884\u4F30",
6004
6032
  estimatedFee: "\u9884\u4F30\u624B\u7EED\u8D39",
6033
+ availableChainPairs: "\u53EF\u7528\u94FE\u5BF9",
6005
6034
  toChain: "\u76EE\u6807\u94FE",
6006
6035
  fromChain: "\u6E90\u94FE",
6007
6036
  optionalRecipient: "\u63A5\u6536\u4EBA\uFF08\u53EF\u9009\uFF0C\u82E5\u4E3A\u7A7A\u5219\u76EE\u6807\u94FE\u5730\u5740\u7B49\u4E8E\u6E90\u94FE\u4E0A\u7684\u53D1\u9001\u65B9\u5730\u5740\uFF09",
@@ -6017,11 +6046,15 @@ var init_zh = __esm({
6017
6046
  localFee: "\u672C\u5730\u8D39\u7528",
6018
6047
  tokenFee: "\u4EE3\u5E01\u8D39\u7528",
6019
6048
  igpSymbol: "IGP \u7B26\u53F7",
6020
- localSymbol: "\u672C\u5730\u7B26\u53F7"
6049
+ localSymbol: "\u672C\u5730\u7B26\u53F7",
6050
+ operationHash: "\u64CD\u4F5C\u54C8\u5E0C"
6021
6051
  },
6022
6052
  actions: {
6053
+ connectWallet: "\u8FDE\u63A5\u9489\u5305",
6023
6054
  bridge: "\u8DE8\u94FE",
6055
+ estimateQuote: "\u4F30\u7B97\u62A5\u4EF7",
6024
6056
  bridgeAsset: "\u8DE8\u94FE {{asset}}",
6057
+ selectAsset: "\u9009\u62E9\u8D44\u4EA7",
6025
6058
  confirmBridge: "\u786E\u8BA4\u8DE8\u94FE"
6026
6059
  },
6027
6060
  statuses: {
@@ -6030,12 +6063,22 @@ var init_zh = __esm({
6030
6063
  txPrepare: "\u6B63\u5728\u51C6\u5907\u4EA4\u6613...",
6031
6064
  txSending: "\u6B63\u5728\u53D1\u9001 {{txCount}} \u7B14\u4EA4\u6613...",
6032
6065
  txSent: "\u4EA4\u6613\u5DF2\u53D1\u9001\u3002\u6B63\u5728\u4F20\u8F93\u81F3 {{destination}}",
6033
- txExecuting: "\u6B63\u5728\u6267\u884C\u8DE8\u94FE..."
6066
+ txExecuting: "\u6B63\u5728\u6267\u884C\u8DE8\u94FE...",
6067
+ txWaitingReceipt: "\u7B49\u5F85\u6536\u636E...",
6068
+ txPatching: "\u66F4\u65B0\u4EA4\u6613..."
6069
+ },
6070
+ consent: {
6071
+ recipient: "\u91CD\u8981\u63D0\u793A\uFF01\u8BF7\u786E\u4FDD {{address}} \u5730\u5740\u5728 {{destinationChain}} \u94FE\u4E0A\u5B58\u5728\uFF0C\u5E76\u652F\u6301\u63A5\u6536\u8DE8\u94FE\u7684 {{asset}}\uFF01",
6072
+ lostFunds: "\u5426\u5219\u60A8\u7684\u8D44\u91D1\u53EF\u80FD\u4E22\u5931\u3002"
6034
6073
  },
6035
6074
  errors: {
6075
+ directWalletWarn: "\u8981\u4ECE\u60A8\u7684 {{originWalletProvider}} \u9489\u5305\u8FDB\u884C\u8DE8\u94FE\uFF0C\u60A8\u9700\u8981\u5148\u8FDE\u63A5\u5B83\uFF08\u56E0\u4E3A\u5B83\u6700\u521D\u63D0\u4F9B\u7684\u662F embarkAi \u8EAB\u4EFD\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6\uFF0C\u800C\u4E0D\u662F\u8FDE\u63A5\uFF09\u3002\u63A5\u4E0B\u6765\u7684\u6B65\u9AA4\u5C06\u5F15\u5BFC\u60A8\u5B8C\u6210\u6B64\u8FC7\u7A0B\u3002",
6076
+ noWarpRoutes: "\u65E0\u53EF\u7528\u6865\u63A5\u8DEF\u7531",
6036
6077
  routeUnavailable: "\u8DEF\u7531 {{originChain}} \u2194 {{destinationChain}} \u5F53\u524D\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u6216\u9009\u62E9\u5176\u4ED6\u8DEF\u7531\u3002",
6037
6078
  noConnections: "\u672A\u627E\u5230 {{originChain}} \u4E0E {{destinationChain}} \u4E4B\u95F4\u7684\u8FDE\u63A5",
6038
- wrongNetwork: " \u8BF7\u5C06 EmbarkAI \u5207\u6362\u81F3\u6E90\u94FE\u4EE5\u7EE7\u7EED\u8DE8\u94FE\u64CD\u4F5C"
6079
+ wrongNetwork: " \u8BF7\u5C06 EmbarkAI \u5207\u6362\u81F3\u6E90\u94FE\u4EE5\u7EE7\u7EED\u8DE8\u94FE\u64CD\u4F5C",
6080
+ noHistory: "\u6682\u65E0\u8DE8\u94FE\u8BB0\u5F55\u3002\u8DE8\u94FE\u60A8\u7684\u8D44\u4EA7\u540E\uFF0C\u5386\u53F2\u8BB0\u5F55\u5C06\u663E\u793A\u5728\u6B64\u5904\u3002",
6081
+ unsupportedNetwork: "{{sender}} \u5C1A\u4E0D\u652F\u6301\u4ECE {{originChain}} \u8DE8\u94FE\u3002\u8BF7\u5207\u6362\u7F51\u7EDC\u5BF9\u3001\u9009\u62E9\u4E0D\u540C\u7684\u4EE3\u5E01\u8DEF\u7531\u6216\u66F4\u6362\u53D1\u9001\u9489\u5305"
6039
6082
  }
6040
6083
  },
6041
6084
  receiveMenu: {
@@ -11487,61 +11530,34 @@ var init_BaseIcon = __esm({
11487
11530
  }
11488
11531
  });
11489
11532
 
11490
- // src/internal/assets/networks/BnbIcon.tsx
11533
+ // src/internal/assets/networks/BscIcon.tsx
11491
11534
  import { jsx as jsx46, jsxs as jsxs39 } from "react/jsx-runtime";
11492
- function BnbIcon2({ width = 28, height = 28, className }) {
11535
+ function BSCIcon(props) {
11536
+ const { width = 28, height = 28, className } = props;
11493
11537
  return /* @__PURE__ */ jsxs39(
11494
11538
  "svg",
11495
11539
  {
11496
11540
  width,
11497
11541
  height,
11498
- viewBox: "0 0 28 28",
11542
+ viewBox: "0 0 32 32",
11499
11543
  fill: "none",
11500
11544
  xmlns: "http://www.w3.org/2000/svg",
11501
11545
  className,
11502
11546
  children: [
11503
- /* @__PURE__ */ jsx46("circle", { cx: "14", cy: "14", r: "14", fill: "#F3BA2F" }),
11504
- /* @__PURE__ */ jsx46(
11505
- "path",
11506
- {
11507
- d: "M14 6L11.09 8.91L14 11.82L16.91 8.91L14 6Z",
11508
- fill: "white"
11509
- }
11510
- ),
11511
- /* @__PURE__ */ jsx46(
11512
- "path",
11513
- {
11514
- d: "M8.18 11.82L5.27 14.73L8.18 17.64L11.09 14.73L8.18 11.82Z",
11515
- fill: "white"
11516
- }
11517
- ),
11518
- /* @__PURE__ */ jsx46(
11519
- "path",
11520
- {
11521
- d: "M14 14.73L11.09 17.64L14 20.55L16.91 17.64L14 14.73Z",
11522
- fill: "white"
11523
- }
11524
- ),
11525
- /* @__PURE__ */ jsx46(
11526
- "path",
11527
- {
11528
- d: "M19.82 11.82L16.91 14.73L19.82 17.64L22.73 14.73L19.82 11.82Z",
11529
- fill: "white"
11530
- }
11531
- ),
11547
+ /* @__PURE__ */ jsx46("circle", { cx: "16", cy: "16", r: "16", fill: "#F3BA2F" }),
11532
11548
  /* @__PURE__ */ jsx46(
11533
11549
  "path",
11534
11550
  {
11535
- d: "M14 11.82L11.09 14.73L14 17.64L16.91 14.73L14 11.82Z",
11536
- fill: "white"
11551
+ fill: "#FFF",
11552
+ d: "M12.116 14.404L16 10.52l3.886 3.886 2.26-2.26L16 6l-6.144 6.144 2.26 2.26zM6 16l2.26-2.26L10.52 16l-2.26 2.26L6 16zm6.116 1.596L16 21.48l3.886-3.886 2.26 2.259L16 26l-6.144-6.144-.003-.003 2.263-2.257zM21.48 16l2.26-2.26L26 16l-2.26 2.26L21.48 16zm-3.188-.002h.002V16L16 18.294l-2.291-2.29-.004-.004.004-.003.401-.402.195-.195L16 13.706l2.293 2.293z"
11537
11553
  }
11538
11554
  )
11539
11555
  ]
11540
11556
  }
11541
11557
  );
11542
11558
  }
11543
- var init_BnbIcon2 = __esm({
11544
- "src/internal/assets/networks/BnbIcon.tsx"() {
11559
+ var init_BscIcon = __esm({
11560
+ "src/internal/assets/networks/BscIcon.tsx"() {
11545
11561
  }
11546
11562
  });
11547
11563
 
@@ -11682,7 +11698,7 @@ var init_networks3 = __esm({
11682
11698
  "src/config/networks.ts"() {
11683
11699
  init_ArbitrumIcon();
11684
11700
  init_BaseIcon();
11685
- init_BnbIcon2();
11701
+ init_BscIcon();
11686
11702
  init_EthereumIcon();
11687
11703
  init_LumiaIcon2();
11688
11704
  NETWORK_OPTIONS = [
@@ -11711,7 +11727,7 @@ var init_networks3 = __esm({
11711
11727
  chainId: BSC_TESTNET_CHAIN_ID3,
11712
11728
  name: "BSC Testnet",
11713
11729
  badge: "TESTNET",
11714
- Icon: BnbIcon2,
11730
+ Icon: BSCIcon,
11715
11731
  isActive: true
11716
11732
  },
11717
11733
  {
@@ -17553,27 +17569,71 @@ var init_NicknameMenu2 = __esm({
17553
17569
  }
17554
17570
  });
17555
17571
 
17572
+ // src/internal/hooks/useResolvedPublicClient.ts
17573
+ import { createPublicClientForChain as createPublicClientForChain5, getChainConfig as getChainConfig8 } from "@embarkai/core/read";
17574
+ import { useMemo as useMemo4 } from "react";
17575
+ function getCachedPublicClient(chainId) {
17576
+ const cachedClient = publicClientByChainId.get(chainId);
17577
+ if (cachedClient) return cachedClient;
17578
+ const publicClient = createPublicClientForChain5(chainId);
17579
+ publicClientByChainId.set(chainId, publicClient);
17580
+ return publicClient;
17581
+ }
17582
+ function useResolvedPublicClient(chainId, logScope = "useResolvedPublicClient") {
17583
+ const activePublicClient = useSession((st) => st.publicClient);
17584
+ const activeChainId = useSession((st) => st.activeChainId);
17585
+ const activeChainConfig = useSession((st) => st.chainConfig);
17586
+ const resolvedChainId = chainId ?? activeChainId;
17587
+ const shouldUseActiveClient = !chainId || chainId === activeChainId;
17588
+ const chainConfig = useMemo4(() => {
17589
+ if (shouldUseActiveClient) return activeChainConfig;
17590
+ return getChainConfig8(chainId);
17591
+ }, [activeChainConfig, chainId, shouldUseActiveClient]);
17592
+ const publicClient = useMemo4(() => {
17593
+ if (shouldUseActiveClient) return activePublicClient;
17594
+ if (!chainId) return activePublicClient;
17595
+ try {
17596
+ return getCachedPublicClient(chainId);
17597
+ } catch (error) {
17598
+ console.warn(`[${logScope}] Chain ${chainId} is not supported:`, error);
17599
+ return null;
17600
+ }
17601
+ }, [activePublicClient, chainId, logScope, shouldUseActiveClient]);
17602
+ return {
17603
+ activeChainId,
17604
+ chainConfig,
17605
+ publicClient,
17606
+ resolvedChainId
17607
+ };
17608
+ }
17609
+ var publicClientByChainId;
17610
+ var init_useResolvedPublicClient = __esm({
17611
+ "src/internal/hooks/useResolvedPublicClient.ts"() {
17612
+ init_SessionContext();
17613
+ publicClientByChainId = /* @__PURE__ */ new Map();
17614
+ }
17615
+ });
17616
+
17556
17617
  // src/internal/hooks/useWatchTokens.ts
17557
17618
  import { useQuery as useQuery15 } from "@tanstack/react-query";
17558
- import { useMemo as useMemo4 } from "react";
17619
+ import { useMemo as useMemo5 } from "react";
17559
17620
  import { erc20Abi, formatUnits as formatUnits2 } from "viem";
17560
17621
  function useWatchTokens(options) {
17561
- const { address, enabled = true } = options;
17622
+ const { address, chainId, enabled = true } = options;
17562
17623
  const { config } = useProviderConfig();
17563
- const publicClient = useSession((st) => st.publicClient);
17564
- const activeChainId = useSession((st) => st.activeChainId);
17565
- const watchTokens = useMemo4(() => {
17624
+ const { publicClient, resolvedChainId } = useResolvedPublicClient(chainId, "useWatchTokens");
17625
+ const watchTokens = useMemo5(() => {
17566
17626
  const allWatchTokens = config.current.watchTokens;
17567
- const tokensForChain = activeChainId ? allWatchTokens?.[activeChainId] || [] : [];
17627
+ const tokensForChain = resolvedChainId ? allWatchTokens?.[resolvedChainId] || [] : [];
17568
17628
  return tokensForChain;
17569
- }, [config, activeChainId]);
17629
+ }, [config, resolvedChainId]);
17570
17630
  const {
17571
17631
  data: assets,
17572
17632
  isLoading,
17573
17633
  error,
17574
17634
  refetch
17575
17635
  } = useQuery15({
17576
- queryKey: [WATCH_TOKENS_QUERY_KEY, activeChainId, address, watchTokens.map((t) => t.address).join(",")],
17636
+ queryKey: [WATCH_TOKENS_QUERY_KEY, resolvedChainId, address, watchTokens.map((t) => t.address).join(",")],
17577
17637
  queryFn: async () => {
17578
17638
  if (!publicClient || !address || watchTokens.length === 0) {
17579
17639
  return [];
@@ -17648,7 +17708,7 @@ var WATCH_TOKENS_QUERY_KEY;
17648
17708
  var init_useWatchTokens = __esm({
17649
17709
  "src/internal/hooks/useWatchTokens.ts"() {
17650
17710
  init_ProviderContext();
17651
- init_SessionContext();
17711
+ init_useResolvedPublicClient();
17652
17712
  WATCH_TOKENS_QUERY_KEY = "watch-tokens";
17653
17713
  }
17654
17714
  });
@@ -17656,7 +17716,7 @@ var init_useWatchTokens = __esm({
17656
17716
  // src/internal/hooks/useBlockscoutAssets.ts
17657
17717
  import { createBlockscoutClient } from "@embarkai/core/clients";
17658
17718
  import { useQuery as useQuery16 } from "@tanstack/react-query";
17659
- import { useCallback as useCallback19, useMemo as useMemo5, useRef as useRef16 } from "react";
17719
+ import { useCallback as useCallback19, useMemo as useMemo6, useRef as useRef16 } from "react";
17660
17720
  import { formatEther, formatUnits as formatUnits3 } from "viem";
17661
17721
  function resolveIpfsUri(uri) {
17662
17722
  if (!uri) return "";
@@ -17782,15 +17842,13 @@ function createError(error) {
17782
17842
  };
17783
17843
  }
17784
17844
  function useBlockscoutAssets(options) {
17785
- const { address, enabled = true, detectSecurityTokens = true } = options;
17786
- const publicClient = useSession((st) => st.publicClient);
17787
- const activeChainId = useSession((st) => st.activeChainId);
17788
- const chainConfig = useSession((st) => st.chainConfig);
17845
+ const { address, chainId, enabled = true, detectSecurityTokens = true } = options;
17846
+ const { chainConfig, publicClient, resolvedChainId } = useResolvedPublicClient(chainId, "useBlockscoutAssets");
17789
17847
  const portfolioConfig = useProviderConfig().config.current.portfolio;
17790
17848
  const customTokenBalancesQuery = portfolioConfig?.tokenBalancesQuery;
17791
17849
  const customTokenBalancesQueryKey = portfolioConfig?.tokenBalancesQueryKey;
17792
17850
  const blockscoutApiUrl = getBlockscoutApiUrl(chainConfig);
17793
- const blockscoutClient = useMemo5(
17851
+ const blockscoutClient = useMemo6(
17794
17852
  () => blockscoutApiUrl ? createBlockscoutClient({ baseUrl: blockscoutApiUrl }) : null,
17795
17853
  [blockscoutApiUrl]
17796
17854
  );
@@ -17799,13 +17857,13 @@ function useBlockscoutAssets(options) {
17799
17857
  assets: watchTokenAssets,
17800
17858
  isLoading: watchTokensLoading,
17801
17859
  refetch: refetchWatchTokens
17802
- } = useWatchTokens({ address, enabled });
17860
+ } = useWatchTokens({ address, chainId: resolvedChainId, enabled });
17803
17861
  const {
17804
17862
  data: nativeBalanceData,
17805
17863
  isLoading: nativeLoading,
17806
17864
  refetch: refetchNative
17807
17865
  } = useQuery16({
17808
- queryKey: ["native-balance", activeChainId, address],
17866
+ queryKey: ["native-balance", resolvedChainId, address],
17809
17867
  queryFn: async () => {
17810
17868
  if (!publicClient || !address) return null;
17811
17869
  const balance = await publicClient.getBalance({ address });
@@ -17830,7 +17888,7 @@ function useBlockscoutAssets(options) {
17830
17888
  refetch: refetchTokens,
17831
17889
  dataUpdatedAt
17832
17890
  } = useQuery16({
17833
- queryKey: [BLOCKSCOUT_QUERY_KEY, address, blockscoutApiUrl, customTokenBalancesQueryKey],
17891
+ queryKey: [BLOCKSCOUT_QUERY_KEY, resolvedChainId, address, blockscoutApiUrl, customTokenBalancesQueryKey],
17834
17892
  queryFn: async () => {
17835
17893
  if (customTokenBalancesQuery) {
17836
17894
  try {
@@ -17854,7 +17912,7 @@ function useBlockscoutAssets(options) {
17854
17912
  isLoading: nftsLoading,
17855
17913
  refetch: refetchNfts
17856
17914
  } = useQuery16({
17857
- queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", address, blockscoutApiUrl],
17915
+ queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, address, blockscoutApiUrl],
17858
17916
  queryFn: () => blockscoutClient.getNfts(address),
17859
17917
  enabled: !!address && enabled && !!blockscoutClient,
17860
17918
  staleTime: BLOCKSCOUT_QUERY_STALE_TIME,
@@ -17863,12 +17921,12 @@ function useBlockscoutAssets(options) {
17863
17921
  retry: 2,
17864
17922
  retryDelay: 1e3
17865
17923
  });
17866
- const erc20TokenAddresses = useMemo5(() => {
17924
+ const erc20TokenAddresses = useMemo6(() => {
17867
17925
  if (!tokenBalances) return [];
17868
17926
  return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
17869
17927
  }, [tokenBalances]);
17870
17928
  const { data: erc3643Results } = useQuery16({
17871
- queryKey: [ERC3643_DETECTION_QUERY_KEY, address, erc20TokenAddresses],
17929
+ queryKey: [ERC3643_DETECTION_QUERY_KEY, resolvedChainId, address, erc20TokenAddresses],
17872
17930
  queryFn: async () => {
17873
17931
  if (!publicClient || erc20TokenAddresses.length === 0) {
17874
17932
  return /* @__PURE__ */ new Map();
@@ -17907,7 +17965,7 @@ function useBlockscoutAssets(options) {
17907
17965
  gcTime: BLOCKSCOUT_QUERY_GC_TIME,
17908
17966
  retry: 1
17909
17967
  });
17910
- const assets = useMemo5(() => {
17968
+ const assets = useMemo6(() => {
17911
17969
  const result = [];
17912
17970
  const addedAddresses = /* @__PURE__ */ new Set();
17913
17971
  if (nativeBalanceData) {
@@ -17953,7 +18011,7 @@ function useBlockscoutAssets(options) {
17953
18011
  }
17954
18012
  return result;
17955
18013
  }, [nativeBalanceData, tokenBalances, nftItems, erc3643Results, watchTokenAssets, chainConfig]);
17956
- const nativeBalance = useMemo5(() => {
18014
+ const nativeBalance = useMemo6(() => {
17957
18015
  if (!nativeBalanceData) return null;
17958
18016
  return {
17959
18017
  value: nativeBalanceData.value,
@@ -17961,7 +18019,7 @@ function useBlockscoutAssets(options) {
17961
18019
  symbol: nativeBalanceData.symbol
17962
18020
  };
17963
18021
  }, [nativeBalanceData]);
17964
- const error = useMemo5(() => {
18022
+ const error = useMemo6(() => {
17965
18023
  if (!tokensError) return null;
17966
18024
  return createError(tokensError);
17967
18025
  }, [tokensError]);
@@ -17995,9 +18053,9 @@ var BLOCKSCOUT_QUERY_KEY, ERC3643_DETECTION_QUERY_KEY, ERC3643_ABI;
17995
18053
  var init_useBlockscoutAssets = __esm({
17996
18054
  "src/internal/hooks/useBlockscoutAssets.ts"() {
17997
18055
  init_ProviderContext();
17998
- init_SessionContext();
17999
18056
  init_initial();
18000
18057
  init_constants();
18058
+ init_useResolvedPublicClient();
18001
18059
  init_useWatchTokens();
18002
18060
  BLOCKSCOUT_QUERY_KEY = "blockscout-token-balances";
18003
18061
  ERC3643_DETECTION_QUERY_KEY = "erc3643-detection";
@@ -18428,7 +18486,7 @@ var init_nickname_fingerprint = __esm({
18428
18486
  // src/internal/components/ReceiveMenu/ReceiveMenu.tsx
18429
18487
  import { ArrowLeft as ArrowLeft17, CheckCircle2 as CheckCircle23, Copy as Copy3, Info as Info5, Loader as Loader28, Shield } from "lucide-react";
18430
18488
  import QRCode from "qrcode";
18431
- import { useCallback as useCallback21, useEffect as useEffect34, useMemo as useMemo6, useState as useState23 } from "react";
18489
+ import { useCallback as useCallback21, useEffect as useEffect34, useMemo as useMemo7, useState as useState23 } from "react";
18432
18490
  import { Fragment as Fragment32, jsx as jsx83, jsxs as jsxs76 } from "react/jsx-runtime";
18433
18491
  function ReceiveMenu() {
18434
18492
  const session = useSession((st) => st.session);
@@ -18442,7 +18500,7 @@ function ReceiveMenu() {
18442
18500
  const [qrCodeUrl, setQrCodeUrl] = useState23("");
18443
18501
  const [copied, setCopied] = useState23(false);
18444
18502
  const [fingerprintCopied, setFingerprintCopied] = useState23(false);
18445
- const fingerprint = useMemo6(() => {
18503
+ const fingerprint = useMemo7(() => {
18446
18504
  if (!session?.ownerAddress) return null;
18447
18505
  try {
18448
18506
  return generateFingerprint(session.ownerAddress);
@@ -19266,9 +19324,9 @@ import { bsc, mainnet as ethereum } from "wagmi/chains";
19266
19324
  var CHAINS_UI_META;
19267
19325
  var init_chains = __esm({
19268
19326
  "src/internal/components/SendMenu/hyperbridge/lib/chains.ts"() {
19269
- init_BnbIcon2();
19270
19327
  init_EthereumIcon();
19271
19328
  init_LumiaIcon2();
19329
+ init_BscIcon();
19272
19330
  CHAINS_UI_META = {
19273
19331
  lumiaprism: {
19274
19332
  chainID: lumiaprism.id,
@@ -19277,18 +19335,16 @@ var init_chains = __esm({
19277
19335
  // exact hyperlane registry chain name
19278
19336
  Icon: LumiaIcon2,
19279
19337
  explorerUrl: lumiaprism.blockExplorers.default.url,
19280
- chain: lumiaprism,
19281
- nativeCurrency: lumiaprism.nativeCurrency.symbol
19338
+ chain: lumiaprism
19282
19339
  },
19283
19340
  bsc: {
19284
19341
  chainID: bsc.id,
19285
19342
  chainLabel: bsc.name,
19286
19343
  chainName: "bsc",
19287
19344
  // exact hyperlane registry chain name
19288
- Icon: BnbIcon2,
19345
+ Icon: BSCIcon,
19289
19346
  explorerUrl: bsc.blockExplorers.default.url,
19290
- chain: bsc,
19291
- nativeCurrency: bsc.nativeCurrency.symbol
19347
+ chain: bsc
19292
19348
  },
19293
19349
  ethereum: {
19294
19350
  chainID: ethereum.id,
@@ -19297,15 +19353,8 @@ var init_chains = __esm({
19297
19353
  // exact hyperlane registry chain name
19298
19354
  Icon: EthereumIcon,
19299
19355
  explorerUrl: ethereum.blockExplorers.default.url,
19300
- chain: ethereum,
19301
- nativeCurrency: ethereum.nativeCurrency.symbol
19302
- }
19303
- // base: {
19304
- // chainID: base.id,
19305
- // chainLabel: base.name,
19306
- // chainName: 'ethereum', // exact hyperlane registry chain name
19307
- // Icon: EthereumIcon
19308
- // },
19356
+ chain: ethereum
19357
+ }
19309
19358
  };
19310
19359
  }
19311
19360
  });
@@ -19326,7 +19375,6 @@ var init_useBridgeStore = __esm({
19326
19375
  amount: "",
19327
19376
  quote: null,
19328
19377
  isQuoteEstimating: false,
19329
- lastTxHashes: [],
19330
19378
  bridgeHistoryItem: null
19331
19379
  };
19332
19380
  useBridgeStore = create8()(
@@ -19336,6 +19384,7 @@ var init_useBridgeStore = __esm({
19336
19384
  recipient: null,
19337
19385
  originChain: null,
19338
19386
  destinationChain: null,
19387
+ bridgeAssetSymbol: null,
19339
19388
  ...RESETABLE_STATES,
19340
19389
  setBridgeStep: (bridgeStep) => {
19341
19390
  useFlowSelectorStore.getState().setRenderKey(`bridge-${bridgeStep}-${Date.now()}`);
@@ -19343,6 +19392,7 @@ var init_useBridgeStore = __esm({
19343
19392
  },
19344
19393
  setBridgeSender: (bridgeSender) => set({ bridgeSender }),
19345
19394
  setBridgeSenders: (bridgeSenders) => set({ bridgeSenders }),
19395
+ setBridgeAssetSymbol: (bridgeAssetSymbol) => set({ bridgeAssetSymbol }),
19346
19396
  setBridgeTxStatus: (bridgeTxStatus) => set({ bridgeTxStatus }),
19347
19397
  setOriginChain: (v) => set({ originChain: v }),
19348
19398
  setDestinationChain: (v) => set({ destinationChain: v }),
@@ -19350,7 +19400,6 @@ var init_useBridgeStore = __esm({
19350
19400
  setAmount: (v) => set({ amount: v }),
19351
19401
  setQuote: (quote) => set({ quote }),
19352
19402
  setIsQuoteEstimating: (isQuoteEstimating) => set({ isQuoteEstimating }),
19353
- setLastTxHashes: (lastTxHashes) => set({ lastTxHashes }),
19354
19403
  setRecipient: (recipient) => set({ recipient }),
19355
19404
  setBridgeHistoryItem: (bridgeHistoryItem) => set({ bridgeHistoryItem }),
19356
19405
  // Compound actions
@@ -19370,6 +19419,7 @@ var init_useBridgeStore = __esm({
19370
19419
  {
19371
19420
  name: "hyperlane-bridge-store",
19372
19421
  partialize: (state) => ({
19422
+ bridgeAssetSymbol: state.bridgeAssetSymbol,
19373
19423
  hyperRoute: state.hyperRoute,
19374
19424
  recipient: state.recipient,
19375
19425
  originChain: state.originChain,
@@ -19393,7 +19443,6 @@ function SenderSelector() {
19393
19443
  const { signMessageAsync } = useSignMessage();
19394
19444
  const { openConnectModal } = useConnectModal();
19395
19445
  const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
19396
- const directWalletChainId = useExternalWalletStore((st) => st.externalChainId);
19397
19446
  const directWalletIsConnected = useExternalWalletStore((st) => st.isExternalConnected);
19398
19447
  const pendingWalletRef = useRef17(null);
19399
19448
  const { profiles } = useLinkedProfiles();
@@ -19418,10 +19467,6 @@ function SenderSelector() {
19418
19467
  setWalletMessage("Invalid wallet profile. Please try connecting your wallet again.");
19419
19468
  return;
19420
19469
  }
19421
- const isWalletChainMatchOriginChain = directWalletChainId === CHAINS_UI_META[originChain].chainID;
19422
- if (!isWalletChainMatchOriginChain) {
19423
- throw new Error(`External wallet required to be on ${CHAINS_UI_META[originChain].chainLabel} network.`);
19424
- }
19425
19470
  const projectName = config.current?.projectId ? await fetchProjectName(config.current.projectId) : "EmbarkAI";
19426
19471
  const signingWalletAddress = walletProfile2?.externalId;
19427
19472
  const message = createLoginMessage(signingWalletAddress, projectName);
@@ -19555,241 +19600,6 @@ var init_SenderSelector = __esm({
19555
19600
  }
19556
19601
  });
19557
19602
 
19558
- // src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx
19559
- import { jsx as jsx92 } from "react/jsx-runtime";
19560
- function ResolveChainIcon(props) {
19561
- const Icon2 = CHAINS_UI_META[props.chainName]?.Icon || TOKENS_ICONS.EMBARKAI;
19562
- return /* @__PURE__ */ jsx92(Icon2, { className: props.className || "w-4 h-4" });
19563
- }
19564
- var init_ResolveChainIcon = __esm({
19565
- "src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx"() {
19566
- init_tokens();
19567
- init_chains();
19568
- }
19569
- });
19570
-
19571
- // src/internal/components/SendMenu/hyperbridge/utils.ts
19572
- import { formatUnits as formatUnits6 } from "viem";
19573
- function isNftAsset2(asset) {
19574
- if (!asset) return false;
19575
- return asset.type === "erc721" || asset.type === "erc1155";
19576
- }
19577
- function getAssetBalance(asset) {
19578
- if (!asset) return 0;
19579
- if (isNftAsset2(asset)) return 1;
19580
- return Number(formatUnits6(BigInt(asset.balance || "0"), asset.decimals || 18));
19581
- }
19582
- function isOririnChainEmbarkSupported(originChain) {
19583
- const supportedChain = NETWORK_OPTIONS.map((c) => c.chainId);
19584
- return supportedChain.includes(CHAINS_UI_META[originChain].chainID);
19585
- }
19586
- var init_utils8 = __esm({
19587
- "src/internal/components/SendMenu/hyperbridge/utils.ts"() {
19588
- init_networks3();
19589
- init_chains();
19590
- }
19591
- });
19592
-
19593
- // src/internal/components/SendMenu/hyperbridge/components/TokenHyperlaneRouteSelector.tsx
19594
- import { ArrowLeftRightIcon } from "lucide-react";
19595
- import { Fragment as Fragment36 } from "react";
19596
- import { jsx as jsx93, jsxs as jsxs85 } from "react/jsx-runtime";
19597
- function TokenHyperlaneRouteSelector(props) {
19598
- const { hyperlaneWarpRoutes } = props;
19599
- const hyperRouteID = useBridgeStore((st) => st.hyperRoute);
19600
- const originChain = useBridgeStore((st) => st.originChain);
19601
- const destinationChain = useBridgeStore((st) => st.destinationChain);
19602
- const activeRoute = hyperlaneWarpRoutes.find((route) => {
19603
- const { routeId, chainPair } = route;
19604
- const chainPairNames = chainPair.map((c) => c.chainName);
19605
- return routeId === hyperRouteID && chainPairNames.includes(originChain) && chainPairNames.includes(destinationChain);
19606
- });
19607
- return /* @__PURE__ */ jsx93("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: hyperlaneWarpRoutes.map((hyperRoute, routeIdx) => {
19608
- const RouteIcon = TOKENS_ICONS[(hyperRoute?.symbol || "null_icon").toUpperCase()] || TOKENS_ICONS.EMBARKAI;
19609
- return /* @__PURE__ */ jsxs85(
19610
- Button,
19611
- {
19612
- size: "large",
19613
- variant: activeRoute?.id === hyperRoute.id ? "default" : "outline",
19614
- className: "justify-between",
19615
- onClick: () => {
19616
- const { setHyperRoute, setBridgeStep, setOriginChain, setDestinationChain } = useBridgeStore.getState();
19617
- let originChainIndex = 0;
19618
- let destinationChainIndex = 1;
19619
- if (useBridgeStore.getState().bridgeSender === "embarkai-wallet") {
19620
- const foundIdx = hyperRoute.chainPair.findIndex(
19621
- (chain) => isOririnChainEmbarkSupported(chain.chainName)
19622
- );
19623
- if (foundIdx !== -1) {
19624
- originChainIndex = foundIdx;
19625
- destinationChainIndex = foundIdx === 0 ? 1 : 0;
19626
- }
19627
- }
19628
- setOriginChain(hyperRoute.chainPair[originChainIndex].chainName);
19629
- setDestinationChain(hyperRoute.chainPair[destinationChainIndex].chainName);
19630
- setHyperRoute(hyperRoute.routeId);
19631
- setBridgeStep("select");
19632
- },
19633
- children: [
19634
- /* @__PURE__ */ jsxs85("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
19635
- /* @__PURE__ */ jsx93(RouteIcon, { className: "w-6 h-6" }),
19636
- /* @__PURE__ */ jsx93("span", { children: hyperRoute.symbol.toUpperCase() })
19637
- ] }),
19638
- /* @__PURE__ */ jsx93("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: hyperRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ jsxs85(Fragment36, { children: [
19639
- chIdx > 0 && /* @__PURE__ */ jsx93(ArrowLeftRightIcon, { className: "w-4 h-4" }),
19640
- /* @__PURE__ */ jsx93(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
19641
- ] }, `${hyperRoute.routeId}-icon-${chain.chainID}-${chIdx}`)) })
19642
- ]
19643
- },
19644
- `hyperlane-route-${hyperRoute.id}-${routeIdx}`
19645
- );
19646
- }) });
19647
- }
19648
- var init_TokenHyperlaneRouteSelector = __esm({
19649
- "src/internal/components/SendMenu/hyperbridge/components/TokenHyperlaneRouteSelector.tsx"() {
19650
- init_tokens();
19651
- init_button();
19652
- init_ResolveChainIcon();
19653
- init_useBridgeStore();
19654
- init_utils8();
19655
- }
19656
- });
19657
-
19658
- // src/clients/bundler/getUserOperationByHash.ts
19659
- import { bundlerRpc } from "@embarkai/core";
19660
- import { getChainConfig as getChainConfig8 } from "@embarkai/core/read";
19661
- async function getUserOperationByHash(userOpHash, chainId) {
19662
- const targetChainId = chainId ?? requireActiveChainId();
19663
- const chainConfig = getChainConfig8(targetChainId);
19664
- if (!chainConfig) {
19665
- throw new Error(`Chain ${targetChainId} is not supported`);
19666
- }
19667
- if (!chainConfig.bundlerUrl) {
19668
- throw new Error(`Chain ${targetChainId} has no bundlerUrl configured`);
19669
- }
19670
- if (!userOpHash) {
19671
- throw new Error("Operation hash is required");
19672
- }
19673
- try {
19674
- const result = await bundlerRpc("eth_getUserOperationByHash", [userOpHash], chainConfig.bundlerUrl);
19675
- if (!result) {
19676
- return null;
19677
- }
19678
- console.log("[getUserOperationByHash] Receipt:", JSON.stringify(result, null, 2));
19679
- return {
19680
- entryPoint: result.entryPoint,
19681
- userOperation: result.userOperation,
19682
- transactionHash: result.transactionHash,
19683
- blockNumber: result.blockNumber,
19684
- blockHash: result.blockHash
19685
- };
19686
- } catch (error) {
19687
- console.warn("[getUserOperationByHash] Failed to get user operation:", error);
19688
- return null;
19689
- }
19690
- }
19691
- var init_getUserOperationByHash = __esm({
19692
- "src/clients/bundler/getUserOperationByHash.ts"() {
19693
- init_SessionContext();
19694
- }
19695
- });
19696
-
19697
- // src/clients/bundler/getUserOperationReceipt.ts
19698
- import { bundlerRpc as bundlerRpc2 } from "@embarkai/core";
19699
- import { getChainConfig as getChainConfig9 } from "@embarkai/core/read";
19700
- async function getUserOperationReceipt(userOpHash, chainId) {
19701
- const targetChainId = chainId ?? requireActiveChainId();
19702
- const chainConfig = getChainConfig9(targetChainId);
19703
- if (!chainConfig) {
19704
- throw new Error(`Chain ${targetChainId} is not supported`);
19705
- }
19706
- if (!chainConfig.bundlerUrl) {
19707
- throw new Error(`Chain ${targetChainId} has no bundlerUrl configured`);
19708
- }
19709
- if (!userOpHash) {
19710
- throw new Error("Operation hash is required");
19711
- }
19712
- try {
19713
- const result = await bundlerRpc2("eth_getUserOperationReceipt", [userOpHash], chainConfig.bundlerUrl);
19714
- if (!result) {
19715
- return null;
19716
- }
19717
- console.log("[getUserOperationReceipt] Receipt:", JSON.stringify(result, null, 2));
19718
- return {
19719
- userOpHash: result.userOpHash,
19720
- entryPoint: result.entryPoint,
19721
- sender: result.sender,
19722
- nonce: result.nonce,
19723
- success: result.success,
19724
- actualGasCost: result.actualGasCost,
19725
- actualGasUsed: result.actualGasUsed,
19726
- paymaster: result.paymaster,
19727
- receipt: result.receipt,
19728
- logs: result.logs,
19729
- reason: result.reason
19730
- };
19731
- } catch (error) {
19732
- console.warn("[getUserOperationReceipt] Failed to get receipt:", error);
19733
- return null;
19734
- }
19735
- }
19736
- var init_getUserOperationReceipt = __esm({
19737
- "src/clients/bundler/getUserOperationReceipt.ts"() {
19738
- init_SessionContext();
19739
- }
19740
- });
19741
-
19742
- // src/clients/bundler/waitForUserOperationReceipt.ts
19743
- async function waitForUserOperationReceipt(userOpHash, options) {
19744
- const pollIntervalMs = options?.pollIntervalMs ?? 1e3;
19745
- const maxPollTimeMs = options?.maxPollTimeMs ?? 6e4;
19746
- const targetChainId = options?.chainId ?? requireActiveChainId();
19747
- const startTime = Date.now();
19748
- while (true) {
19749
- const elapsed = Date.now() - startTime;
19750
- if (elapsed >= maxPollTimeMs) {
19751
- throw new UserOperationTimeoutError(userOpHash, targetChainId, maxPollTimeMs);
19752
- }
19753
- const receipt = await getUserOperationReceipt(userOpHash, targetChainId);
19754
- if (receipt) {
19755
- return receipt;
19756
- }
19757
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
19758
- }
19759
- }
19760
- var UserOperationTimeoutError;
19761
- var init_waitForUserOperationReceipt = __esm({
19762
- "src/clients/bundler/waitForUserOperationReceipt.ts"() {
19763
- init_SessionContext();
19764
- init_getUserOperationReceipt();
19765
- UserOperationTimeoutError = class extends Error {
19766
- constructor(userOpHash, chainId, timeoutMs) {
19767
- super(`Timeout waiting for UserOperation receipt after ${timeoutMs}ms (hash: ${userOpHash}, chainId: ${chainId})`);
19768
- this.name = "UserOperationTimeoutError";
19769
- this.userOpHash = userOpHash;
19770
- this.chainId = chainId;
19771
- this.timeoutMs = timeoutMs;
19772
- }
19773
- };
19774
- }
19775
- });
19776
-
19777
- // src/clients/bundler/index.ts
19778
- var init_bundler = __esm({
19779
- "src/clients/bundler/index.ts"() {
19780
- init_getUserOperationByHash();
19781
- init_getUserOperationReceipt();
19782
- init_waitForUserOperationReceipt();
19783
- }
19784
- });
19785
-
19786
- // src/clients/index.ts
19787
- var init_clients2 = __esm({
19788
- "src/clients/index.ts"() {
19789
- init_bundler();
19790
- }
19791
- });
19792
-
19793
19603
  // src/internal/components/SendMenu/hyperbridge/api.ts
19794
19604
  function iframe3() {
19795
19605
  const accessToken = jwtTokenManager2.getAccessToken();
@@ -19809,6 +19619,9 @@ async function estimateHyperlaneQuote(payload) {
19809
19619
  accessToken,
19810
19620
  payload
19811
19621
  });
19622
+ if ("error" in quote && "message" in quote) {
19623
+ throw new Error(quote.message);
19624
+ }
19812
19625
  return quote;
19813
19626
  }
19814
19627
  async function bridgeHyperlaneAsset(payload) {
@@ -19820,7 +19633,6 @@ async function bridgeHyperlaneAsset(payload) {
19820
19633
  return response;
19821
19634
  }
19822
19635
  async function getHyperlaneBridgeHistory(payload) {
19823
- const { page, pageSize } = payload || {};
19824
19636
  const { iframeManager, accessToken } = iframe3();
19825
19637
  const history = await iframeManager.sendMessage("HYPERLANE_TRANSACTIONS_HISTORY_QUERY", {
19826
19638
  accessToken,
@@ -19828,25 +19640,33 @@ async function getHyperlaneBridgeHistory(payload) {
19828
19640
  });
19829
19641
  return history;
19830
19642
  }
19831
- var patchInitiatedBridgeTx;
19643
+ var patchInitiatedBridgeTxStatus, patchInitiatedBridgeTxOpHashes;
19832
19644
  var init_api4 = __esm({
19833
19645
  "src/internal/components/SendMenu/hyperbridge/api.ts"() {
19834
19646
  init_auth();
19835
19647
  init_iframe_manager();
19836
- patchInitiatedBridgeTx = async (payload) => {
19648
+ patchInitiatedBridgeTxStatus = async (payload) => {
19649
+ const { iframeManager, accessToken } = iframe3();
19650
+ const response = await iframeManager.sendMessage("HYPERLANE_PATCH_TRANSACTION_STATUS_QUERY", {
19651
+ accessToken,
19652
+ payload
19653
+ });
19654
+ return response;
19655
+ };
19656
+ patchInitiatedBridgeTxOpHashes = async (payload) => {
19837
19657
  const { iframeManager, accessToken } = iframe3();
19838
- const transactions = await iframeManager.sendMessage("HYPERLANE_PATCH_TRANSACTION_QUERY", {
19658
+ const response = await iframeManager.sendMessage("HYPERLANE_PATCH_TRANSACTION_OP_HASHES_QUERY", {
19839
19659
  accessToken,
19840
19660
  payload
19841
19661
  });
19842
- return transactions;
19662
+ return response;
19843
19663
  };
19844
19664
  }
19845
19665
  });
19846
19666
 
19847
19667
  // src/internal/components/SendMenu/hyperbridge/lib/executeWarpTxs.ts
19848
19668
  import { createPublicClient, http as http2 } from "viem";
19849
- async function executeWarpTransactions(bridgeTxId, txs, walletClient) {
19669
+ async function executeWarpTransactions(txs, walletClient) {
19850
19670
  const originChain = useBridgeStore.getState().originChain;
19851
19671
  const session = useSession.getState().session;
19852
19672
  const bridgeSender = useBridgeStore.getState().bridgeSender;
@@ -19901,12 +19721,8 @@ async function executeWarpTransactions(bridgeTxId, txs, walletClient) {
19901
19721
  }
19902
19722
  }
19903
19723
  if (errorsStack.length > 0) {
19904
- console.error("[HYPERLANE] Errors occurred during transaction execution:", errorsStack);
19905
- patchInitiatedBridgeTx({
19906
- txId: bridgeTxId,
19907
- txStatus: "REJECTED",
19908
- txHashes: hashes
19909
- });
19724
+ console.error("[HYPERLANE] Errors occurred during transaction execution:");
19725
+ console.table(errorsStack.map((e) => e.message));
19910
19726
  }
19911
19727
  return hashes;
19912
19728
  }
@@ -19914,41 +19730,30 @@ var init_executeWarpTxs = __esm({
19914
19730
  "src/internal/components/SendMenu/hyperbridge/lib/executeWarpTxs.ts"() {
19915
19731
  init_SessionContext();
19916
19732
  init_account2();
19917
- init_api4();
19918
19733
  init_useBridgeStore();
19919
19734
  init_chains();
19920
19735
  }
19921
19736
  });
19922
19737
 
19923
- // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
19924
- import { useQuery as useQuery20 } from "@tanstack/react-query";
19925
- import { useState as useState26 } from "react";
19926
- function useHyperlaneHistory() {
19927
- const address = useSession((st) => st.address);
19928
- const page = useLayoutDataStore((st) => st.page);
19929
- const flow = useFlowSelectorStore((st) => st.flow);
19930
- const [currentPage, setCurrentPage] = useState26(1);
19931
- const query = useQuery20({
19932
- retry: false,
19933
- enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
19934
- queryKey: [HYPERLANE_HISTORY_QUERY_KEY, address, currentPage],
19935
- queryFn: async () => await getHyperlaneBridgeHistory({ page: currentPage, pageSize: TX_HISTORY_PAGE_SIZE })
19936
- });
19937
- return {
19938
- ...query,
19939
- currentPage,
19940
- setCurrentPage
19941
- };
19738
+ // src/internal/components/SendMenu/hyperbridge/utils.ts
19739
+ import { formatUnits as formatUnits6 } from "viem";
19740
+ function isNftAsset2(asset) {
19741
+ if (!asset) return false;
19742
+ return asset.type === "erc721" || asset.type === "erc1155";
19942
19743
  }
19943
- var HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE;
19944
- var init_useHyperlaneHistory = __esm({
19945
- "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
19946
- init_SessionContext();
19947
- init_useLayoutDataStore();
19948
- init_useFlowSelector();
19949
- init_api4();
19950
- HYPERLANE_HISTORY_QUERY_KEY = "hyperlane-tx-history-query-key";
19951
- TX_HISTORY_PAGE_SIZE = 10;
19744
+ function getAssetBalance(asset) {
19745
+ if (!asset) return 0;
19746
+ if (isNftAsset2(asset)) return 1;
19747
+ return Number(formatUnits6(BigInt(asset.balance || "0"), asset.decimals || 18));
19748
+ }
19749
+ function isOririnChainEmbarkSupported(originChain) {
19750
+ const supportedChain = NETWORK_OPTIONS.map((c) => c.chainId);
19751
+ return supportedChain.includes(CHAINS_UI_META[originChain].chainID);
19752
+ }
19753
+ var init_utils8 = __esm({
19754
+ "src/internal/components/SendMenu/hyperbridge/utils.ts"() {
19755
+ init_networks3();
19756
+ init_chains();
19952
19757
  }
19953
19758
  });
19954
19759
 
@@ -19957,19 +19762,20 @@ import { create as create9 } from "zustand";
19957
19762
  var useOperationHashesStore;
19958
19763
  var init_useOperationHashesStore = __esm({
19959
19764
  "src/internal/components/SendMenu/hyperbridge/hooks/useOperationHashesStore.ts"() {
19960
- useOperationHashesStore = create9()((set) => ({
19765
+ useOperationHashesStore = create9((set) => ({
19766
+ hyperlaneDatabaseTx: null,
19961
19767
  operationHashes: [],
19962
- setOperationHashes: (hashes) => set({ operationHashes: hashes })
19768
+ setHyperlaneDatabaseTx: (hyperlaneDatabaseTx) => set({ hyperlaneDatabaseTx }),
19769
+ setOperationHashes: (operationHashes) => set({ operationHashes })
19963
19770
  }));
19964
19771
  }
19965
19772
  });
19966
19773
 
19967
19774
  // src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts
19968
- import { useMutation as useMutation19, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
19775
+ import { useMutation as useMutation19 } from "@tanstack/react-query";
19969
19776
  import { useCallback as useCallback22 } from "react";
19970
19777
  import { useSwitchChain, useWalletClient } from "wagmi";
19971
19778
  function useBridge() {
19972
- const qc = useQueryClient23();
19973
19779
  const { t } = useT();
19974
19780
  const address = useSession((st) => st.address);
19975
19781
  const { data: walletClient } = useWalletClient();
@@ -20066,8 +19872,7 @@ function useBridge() {
20066
19872
  amount,
20067
19873
  quote,
20068
19874
  recipient,
20069
- setBridgeTxStatus,
20070
- setLastTxHashes
19875
+ setBridgeTxStatus
20071
19876
  } = useBridgeStore.getState();
20072
19877
  const bridgeSender = useBridgeStore.getState().bridgeSenders.find((s) => s.type === useBridgeStore.getState().bridgeSender);
20073
19878
  const embarkChainId = useSession.getState().activeChainId;
@@ -20078,7 +19883,9 @@ function useBridge() {
20078
19883
  case "direct-wallet":
20079
19884
  if (directWalletChainId !== CHAINS_UI_META[originChain].chainID) {
20080
19885
  console.log("[HYPERLANE SDK] External wallet on wrong chain:", directWalletChainId, "; switching...");
20081
- switchChainAsync({ chainId: CHAINS_UI_META[originChain].chainID }).catch((err) => {
19886
+ await switchChainAsync({ chainId: CHAINS_UI_META[originChain].chainID }).then(() => {
19887
+ console.log("[HYPERLANE SDK] External wallet chain switched to:", CHAINS_UI_META[originChain].chainID);
19888
+ }).catch((err) => {
20082
19889
  useFlowSelectorStore.getState().setError(
20083
19890
  `Failed switch ${directWalletConnectorName} to ${CHAINS_UI_META[originChain].chainLabel}
20084
19891
  ${err?.message || "Failed to switch to the correct network"}`
@@ -20097,9 +19904,9 @@ function useBridge() {
20097
19904
  useFlowSelectorStore.getState().setError(null);
20098
19905
  useOperationHashesStore.getState().setOperationHashes([]);
20099
19906
  setBridgeTxStatus(null);
20100
- setLastTxHashes([]);
20101
19907
  setBridgeTxStatus(t("passport:bridgeMenu.statuses.txPrepare"));
20102
19908
  const { txs: warpTxs, hyperlaneDbTx } = await bridgeHyperlaneAsset({
19909
+ txSender: bridgeSender.type === "embarkai-wallet" ? "EMBARKAI_WALLET" : "EXTERNAL_WALLET",
20103
19910
  warpRouteId: hyperRoute,
20104
19911
  address: bridgeSender.address,
20105
19912
  originChain,
@@ -20108,54 +19915,37 @@ function useBridge() {
20108
19915
  amountToBridge: amount,
20109
19916
  quote
20110
19917
  });
19918
+ useOperationHashesStore.getState().setHyperlaneDatabaseTx(hyperlaneDbTx);
20111
19919
  const operationHashes = await executeWarpTransactions(
20112
- hyperlaneDbTx.id,
20113
19920
  warpTxs,
20114
19921
  bridgeSender.type === "direct-wallet" ? walletClient : null
20115
- ).then((hashes) => {
20116
- useOperationHashesStore.getState().setOperationHashes(hashes);
20117
- return hashes;
20118
- });
20119
- console.log("[HYPERLANE SDK] Transactions sent, operation hashes:", operationHashes);
20120
- Promise.all(
20121
- operationHashes.map(async (opHash) => {
20122
- switch (bridgeSender.type) {
20123
- case "embarkai-wallet":
20124
- return await waitForUserOperationReceipt(opHash, {
20125
- chainId: CHAINS_UI_META[originChain].chainID
20126
- }).then((d) => d.receipt.transactionHash);
20127
- case "direct-wallet":
20128
- return null;
20129
- }
20130
- })
20131
- ).then(async (txHashes) => {
20132
- const filteredTxHashes = txHashes.filter((hash) => hash !== null);
20133
- console.log("[HYPERLANE SDK] txHashes received, patching...", hyperlaneDbTx.id, filteredTxHashes);
20134
- setLastTxHashes(filteredTxHashes);
20135
- await patchInitiatedBridgeTx({
20136
- txId: hyperlaneDbTx.id,
20137
- txStatus: "SENT",
20138
- txHashes: filteredTxHashes
20139
- });
20140
- await qc.invalidateQueries({ queryKey: [HYPERLANE_HISTORY_QUERY_KEY, address, 1] });
20141
- useFlowSelectorStore.getState().setRenderKey(`bridge-txHashes-patched-${Date.now()}`);
20142
- }).catch((error) => {
20143
- console.error("[HYPERLANE SDK] Error while waiting for transaction receipts & patching DB:", error?.message);
20144
- });
19922
+ );
19923
+ await Promise.all([
19924
+ patchInitiatedBridgeTxOpHashes({ txId: hyperlaneDbTx.id, txOpHashes: operationHashes }),
19925
+ patchInitiatedBridgeTxStatus({ txId: hyperlaneDbTx.id, txStatus: "SENDING" })
19926
+ ]);
19927
+ return operationHashes;
20145
19928
  },
20146
- onSuccess: () => {
19929
+ onSuccess: (operationHashes) => {
20147
19930
  const { setBridgeStep, setBridgeTxStatus, destinationChain } = useBridgeStore.getState();
20148
19931
  setBridgeTxStatus(
20149
19932
  // @ts-expect-error i18n typing
20150
19933
  t("passport:bridgeMenu.statuses.txSent", { destination: destinationChain })
20151
19934
  );
19935
+ useOperationHashesStore.getState().setOperationHashes(operationHashes);
20152
19936
  useLayoutStore.getState().setIsDialogForced(false);
20153
19937
  useFlowSelectorStore.getState().setIsUiLocked(false);
20154
19938
  setBridgeStep("success");
20155
19939
  },
20156
19940
  onError: (error) => {
20157
- console.error("[HYPERLANE SDK] Bridge execution error", error);
20158
19941
  const { setBridgeTxStatus } = useBridgeStore.getState();
19942
+ console.error("[HYPERLANE SDK] Bridge execution error", error);
19943
+ const hyperlaneDbTx = useOperationHashesStore.getState().hyperlaneDatabaseTx;
19944
+ if (hyperlaneDbTx?.id) {
19945
+ patchInitiatedBridgeTxStatus({ txId: hyperlaneDbTx.id, txStatus: "REJECTED" }).then(({ ok }) => {
19946
+ console.log("[HYPERLANE SDK] initiated tx patched as REJECTED: ", hyperlaneDbTx.id, "ok: ", ok);
19947
+ });
19948
+ }
20159
19949
  setBridgeTxStatus(null);
20160
19950
  useLayoutStore.getState().setIsDialogForced(false);
20161
19951
  useFlowSelectorStore.getState().setIsUiLocked(false);
@@ -20171,7 +19961,6 @@ function useBridge() {
20171
19961
  }
20172
19962
  var init_useBridge = __esm({
20173
19963
  "src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
20174
- init_clients2();
20175
19964
  init_SessionContext();
20176
19965
  init_i18n();
20177
19966
  init_useExternalWalletStore();
@@ -20182,13 +19971,12 @@ var init_useBridge = __esm({
20182
19971
  init_executeWarpTxs();
20183
19972
  init_useBridgeStore();
20184
19973
  init_utils8();
20185
- init_useHyperlaneHistory();
20186
19974
  init_useOperationHashesStore();
20187
19975
  }
20188
19976
  });
20189
19977
 
20190
19978
  // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts
20191
- import { useQuery as useQuery21 } from "@tanstack/react-query";
19979
+ import { useQuery as useQuery20 } from "@tanstack/react-query";
20192
19980
  import { useEffect as useEffect36 } from "react";
20193
19981
  function useHyperlaneRoutes() {
20194
19982
  const address = useSession((st) => st.address);
@@ -20199,7 +19987,7 @@ function useHyperlaneRoutes() {
20199
19987
  data: hyperlaneWarpRoutes = [],
20200
19988
  isLoading: isLoadingWarpRoutes,
20201
19989
  error: errorWarpRoutes
20202
- } = useQuery21({
19990
+ } = useQuery20({
20203
19991
  retry: false,
20204
19992
  enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
20205
19993
  queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
@@ -20252,7 +20040,7 @@ import { useEffect as useEffect37 } from "react";
20252
20040
  function useMenuTitle(warpRoutes) {
20253
20041
  const { t } = useT();
20254
20042
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
20255
- const hyperRouteMeta = useBridgeStore((st) => (warpRoutes || []).find((route) => route.routeId === st.hyperRoute));
20043
+ const hyperRouteMeta = useBridgeStore((st) => (warpRoutes || [])?.find((route) => route.routeId === st.hyperRoute)) || null;
20256
20044
  useEffect37(() => {
20257
20045
  const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
20258
20046
  switch (true) {
@@ -20260,7 +20048,7 @@ function useMenuTitle(warpRoutes) {
20260
20048
  updateMenuTitle(t("passport:bridgeMenu.labels.sender"));
20261
20049
  break;
20262
20050
  case bridgeStep === "select-token":
20263
- updateMenuTitle(t("passport:bridgeMenu.labels.selectToken"));
20051
+ updateMenuTitle(t("passport:bridgeMenu.labels.selectTokenAndRoute"));
20264
20052
  break;
20265
20053
  case bridgeStep === "confirm":
20266
20054
  updateMenuTitle(t("passport:bridgeMenu.labels.confirm"));
@@ -20289,11 +20077,24 @@ var init_useMenuTitle = __esm({
20289
20077
  }
20290
20078
  });
20291
20079
 
20080
+ // src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx
20081
+ import { jsx as jsx92 } from "react/jsx-runtime";
20082
+ function ResolveChainIcon(props) {
20083
+ const Icon2 = CHAINS_UI_META[props.chainName]?.Icon || TOKENS_ICONS.EMBARKAI;
20084
+ return /* @__PURE__ */ jsx92(Icon2, { className: props.className || "w-4 h-4" });
20085
+ }
20086
+ var init_ResolveChainIcon = __esm({
20087
+ "src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx"() {
20088
+ init_tokens();
20089
+ init_chains();
20090
+ }
20091
+ });
20092
+
20292
20093
  // src/internal/assets/wallets/MetaMaskIcon.tsx
20293
- import { jsx as jsx94, jsxs as jsxs86 } from "react/jsx-runtime";
20094
+ import { jsx as jsx93, jsxs as jsxs85 } from "react/jsx-runtime";
20294
20095
  function MetaMaskIcon(props) {
20295
20096
  const { width = "24", height = "24", ...svgProps } = props;
20296
- return /* @__PURE__ */ jsxs86(
20097
+ return /* @__PURE__ */ jsxs85(
20297
20098
  "svg",
20298
20099
  {
20299
20100
  ...svgProps,
@@ -20307,49 +20108,49 @@ function MetaMaskIcon(props) {
20307
20108
  viewBox: "0 0 142 136.878",
20308
20109
  xmlSpace: "preserve",
20309
20110
  children: [
20310
- /* @__PURE__ */ jsx94(
20111
+ /* @__PURE__ */ jsx93(
20311
20112
  "path",
20312
20113
  {
20313
20114
  fill: "#FF5C16",
20314
20115
  d: "M132.682,132.192l-30.583-9.106l-23.063,13.787l-16.092-0.007l-23.077-13.78l-30.569,9.106L0,100.801\n l9.299-34.839L0,36.507L9.299,0l47.766,28.538h27.85L132.682,0l9.299,36.507l-9.299,29.455l9.299,34.839L132.682,132.192\n L132.682,132.192z"
20315
20116
  }
20316
20117
  ),
20317
- /* @__PURE__ */ jsx94(
20118
+ /* @__PURE__ */ jsx93(
20318
20119
  "path",
20319
20120
  {
20320
20121
  fill: "#FF5C16",
20321
20122
  d: "M9.305,0l47.767,28.558l-1.899,19.599L9.305,0z M39.875,100.814l21.017,16.01l-21.017,6.261\n C39.875,123.085,39.875,100.814,39.875,100.814z M59.212,74.345l-4.039-26.174L29.317,65.97l-0.014-0.007v0.013l0.08,18.321\n l10.485-9.951L59.212,74.345L59.212,74.345z M132.682,0L84.915,28.558l1.893,19.599L132.682,0z M102.113,100.814l-21.018,16.01\n l21.018,6.261V100.814z M112.678,65.975h0.007H112.678v-0.013l-0.006,0.007L86.815,48.171l-4.039,26.174h19.336l10.492,9.95\n C112.604,84.295,112.678,65.975,112.678,65.975z"
20322
20123
  }
20323
20124
  ),
20324
- /* @__PURE__ */ jsx94(
20125
+ /* @__PURE__ */ jsx93(
20325
20126
  "path",
20326
20127
  {
20327
20128
  fill: "#E34807",
20328
20129
  d: "M39.868,123.085l-30.569,9.106L0,100.814h39.868C39.868,100.814,39.868,123.085,39.868,123.085z\n M59.205,74.338l5.839,37.84l-8.093-21.04L29.37,84.295l10.491-9.956h19.344L59.205,74.338z M102.112,123.085l30.57,9.106\n l9.299-31.378h-39.869C102.112,100.814,102.112,123.085,102.112,123.085z M82.776,74.338l-5.839,37.84l8.092-21.04l27.583-6.843\n l-10.498-9.956H82.776V74.338z"
20329
20130
  }
20330
20131
  ),
20331
- /* @__PURE__ */ jsx94(
20132
+ /* @__PURE__ */ jsx93(
20332
20133
  "path",
20333
20134
  {
20334
20135
  fill: "#FF8D5D",
20335
20136
  d: "M0,100.801l9.299-34.839h19.997l0.073,18.327l27.584,6.843l8.092,21.039l-4.16,4.633l-21.017-16.01H0\n V100.801z M141.981,100.801l-9.299-34.839h-19.998l-0.073,18.327l-27.582,6.843l-8.093,21.039l4.159,4.633l21.018-16.01h39.868\n V100.801z M84.915,28.538h-27.85l-1.891,19.599l9.872,64.013h11.891l9.878-64.013L84.915,28.538z"
20336
20137
  }
20337
20138
  ),
20338
- /* @__PURE__ */ jsx94(
20139
+ /* @__PURE__ */ jsx93(
20339
20140
  "path",
20340
20141
  {
20341
20142
  fill: "#661800",
20342
20143
  d: "M9.299,0L0,36.507l9.299,29.455h19.997l25.87-17.804L9.299,0z M53.426,81.938h-9.059l-4.932,4.835\n l17.524,4.344l-3.533-9.186V81.938z M132.682,0l9.299,36.507l-9.299,29.455h-19.998L86.815,48.158L132.682,0z M88.568,81.938h9.072\n l4.932,4.841l-17.544,4.353l3.54-9.201V81.938z M79.029,124.385l2.067-7.567l-4.16-4.633h-11.9l-4.159,4.633l2.066,7.567"
20343
20144
  }
20344
20145
  ),
20345
- /* @__PURE__ */ jsx94(
20146
+ /* @__PURE__ */ jsx93(
20346
20147
  "path",
20347
20148
  {
20348
20149
  fill: "#C0C4CD",
20349
20150
  d: "M79.029,124.384v12.495H62.945v-12.495L79.029,124.384L79.029,124.384z"
20350
20151
  }
20351
20152
  ),
20352
- /* @__PURE__ */ jsx94(
20153
+ /* @__PURE__ */ jsx93(
20353
20154
  "path",
20354
20155
  {
20355
20156
  fill: "#E7EBF6",
@@ -20365,13 +20166,16 @@ var init_MetaMaskIcon = __esm({
20365
20166
  }
20366
20167
  });
20367
20168
 
20368
- // src/internal/assets/wallets/index.ts
20169
+ // src/internal/assets/wallets/index.tsx
20170
+ import { Wallet2Icon } from "lucide-react";
20171
+ import { jsx as jsx94 } from "react/jsx-runtime";
20369
20172
  var WALLET_ICONS;
20370
20173
  var init_wallets = __esm({
20371
- "src/internal/assets/wallets/index.ts"() {
20174
+ "src/internal/assets/wallets/index.tsx"() {
20372
20175
  init_MetaMaskIcon();
20373
20176
  WALLET_ICONS = {
20374
- metamask: MetaMaskIcon
20177
+ metamask: MetaMaskIcon,
20178
+ default: (props) => /* @__PURE__ */ jsx94(Wallet2Icon, { ...props })
20375
20179
  };
20376
20180
  }
20377
20181
  });
@@ -20388,7 +20192,7 @@ function useAvailableSenders() {
20388
20192
  const sendersAccumulator = [
20389
20193
  {
20390
20194
  type: "embarkai-wallet",
20391
- name: "EmbarkAI wallet",
20195
+ name: "embarkAI",
20392
20196
  chainId: activeChainId,
20393
20197
  address,
20394
20198
  Icon: TOKENS_ICONS["EMBARKAI"]
@@ -20401,7 +20205,7 @@ function useAvailableSenders() {
20401
20205
  name: wProfile?.meta?.walletName || "External wallet",
20402
20206
  chainId: null,
20403
20207
  address: wProfile?.externalId,
20404
- Icon: WALLET_ICONS[wProfile?.meta?.walletName?.toLowerCase()] || null
20208
+ Icon: WALLET_ICONS[wProfile?.meta?.walletName?.toLowerCase()] || WALLET_ICONS["default"]
20405
20209
  });
20406
20210
  });
20407
20211
  }
@@ -20425,12 +20229,12 @@ var init_useAvailableSenders = __esm({
20425
20229
  });
20426
20230
 
20427
20231
  // src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
20428
- import { useQuery as useQuery22, useQueryClient as useQueryClient24 } from "@tanstack/react-query";
20232
+ import { useQuery as useQuery21, useQueryClient as useQueryClient23 } from "@tanstack/react-query";
20429
20233
  import { useCallback as useCallback23, useEffect as useEffect39 } from "react";
20430
20234
  import { createPublicClient as createPublicClient2, erc20Abi as erc20Abi2, formatUnits as formatUnits7, http as http3 } from "viem";
20431
20235
  import { useBalance, useSwitchChain as useSwitchChain2 } from "wagmi";
20432
20236
  function useBridgeBalance(hyperlaneWarpRoutes) {
20433
- const qc = useQueryClient24();
20237
+ const qc = useQueryClient23();
20434
20238
  const { t } = useT();
20435
20239
  const address = useSession((st) => st.address);
20436
20240
  const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
@@ -20440,12 +20244,12 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20440
20244
  const bridgeSender = useBridgeStore((st) => st.bridgeSender);
20441
20245
  const originChain = useBridgeStore((st) => st.originChain);
20442
20246
  const isEmbarkSender = bridgeSender === "embarkai-wallet";
20443
- const selectedWarpRoute = hyperlaneWarpRoutes.find((route) => {
20247
+ const selectedWarpRoute = hyperlaneWarpRoutes.length > 0 ? hyperlaneWarpRoutes.find((route) => {
20444
20248
  const { routeId, chainPair } = route;
20445
20249
  const chainPairNames = chainPair.map((c) => c.chainName);
20446
20250
  return routeId === hyperRoute && chainPairNames.includes(useBridgeStore.getState().originChain) && chainPairNames.includes(useBridgeStore.getState().destinationChain);
20447
- });
20448
- const routeTokenAddress = selectedWarpRoute?.chainPair.find((c) => c.chainName === originChain)?.routeTokenAddress;
20251
+ }) : null;
20252
+ const routeTokenAddress = selectedWarpRoute?.chainPair.find((c) => c.chainName === originChain)?.routeTokenAddress || null;
20449
20253
  const {
20450
20254
  assets = [],
20451
20255
  refreshBalances,
@@ -20456,8 +20260,8 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
20456
20260
  });
20457
20261
  const embarkTokenBalanace = assets.find((a) => a.symbol === selectedWarpRoute?.symbol);
20458
20262
  const originChainMeta = CHAINS_UI_META[originChain];
20459
- const isSelectedTokenNative = selectedWarpRoute?.symbol?.toUpperCase() === originChainMeta.nativeCurrency.toUpperCase();
20460
- const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = useQuery22({
20263
+ const isSelectedTokenNative = selectedWarpRoute?.symbol?.toUpperCase() === originChainMeta?.chain?.nativeCurrency?.symbol?.toUpperCase();
20264
+ const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = useQuery21({
20461
20265
  enabled: bridgeSender === "direct-wallet" && !isSelectedTokenNative && !!directWalletAddress && !!routeTokenAddress && !!originChain,
20462
20266
  retry: false,
20463
20267
  queryKey: [EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, originChain, directWalletAddress, routeTokenAddress],
@@ -20573,9 +20377,9 @@ var init_useBridgeBalance = __esm({
20573
20377
  });
20574
20378
 
20575
20379
  // src/internal/components/SendMenu/hyperbridge/steps/SelectStep.tsx
20576
- import { ArrowLeftRightIcon as ArrowLeftRightIcon2, ArrowRightLeftIcon, LoaderIcon as LoaderIcon10, Wallet2Icon, XIcon } from "lucide-react";
20577
- import { Fragment as Fragment37 } from "react";
20578
- import { Fragment as Fragment38, jsx as jsx95, jsxs as jsxs87 } from "react/jsx-runtime";
20380
+ import { ArrowLeftRightIcon, ArrowRightLeftIcon, LoaderIcon as LoaderIcon10, Wallet2Icon as Wallet2Icon2, XIcon } from "lucide-react";
20381
+ import { Fragment as Fragment36 } from "react";
20382
+ import { Fragment as Fragment37, jsx as jsx95, jsxs as jsxs86 } from "react/jsx-runtime";
20579
20383
  function SelectStep(props) {
20580
20384
  const { swapChains, hyperlaneWarpRoutes, isLoadingWarpRoutes, handleQuoteEstimation } = props;
20581
20385
  const { t } = useT();
@@ -20584,7 +20388,7 @@ function SelectStep(props) {
20584
20388
  destinationChain,
20585
20389
  hyperRoute,
20586
20390
  amount,
20587
- bridgeSenders,
20391
+ // bridgeSenders,
20588
20392
  isQuoteEstimating,
20589
20393
  recipient,
20590
20394
  setBridgeStep,
@@ -20604,63 +20408,61 @@ function SelectStep(props) {
20604
20408
  if (isLoadingWarpRoutes) {
20605
20409
  return /* @__PURE__ */ jsx95("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx95(LoaderIcon10, { className: "w-4 h-4 animate-spin" }) });
20606
20410
  }
20607
- return /* @__PURE__ */ jsxs87("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] items-center", children: [
20608
- /* @__PURE__ */ jsxs87("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20609
- bridgeSenders.length > 1 && /* @__PURE__ */ jsxs87(Fragment38, { children: [
20610
- /* @__PURE__ */ jsx95(
20611
- "div",
20612
- {
20613
- className: cn(
20614
- "flex items-center justify-between gap-[var(--ui-kit-gap)]",
20615
- "text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
20616
- ),
20617
- children: /* @__PURE__ */ jsx95("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.sender") })
20618
- }
20619
- ),
20620
- /* @__PURE__ */ jsxs87(
20621
- Button,
20622
- {
20623
- disabled: isQuoteEstimating,
20624
- variant: "default",
20625
- className: "w-full justify-between",
20626
- onClick: () => {
20627
- useFlowSelectorStore.getState().setError(null);
20628
- setBridgeStep("sender-selector");
20629
- },
20630
- children: [
20631
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20632
- selectedSender?.Icon && /* @__PURE__ */ jsx95(selectedSender.Icon, { className: "w-6 h-6" }),
20633
- /* @__PURE__ */ jsx95("span", { children: selectedSender?.name || "N / A" })
20634
- ] }),
20635
- selectedSender?.address && /* @__PURE__ */ jsxs87("span", { className: "block text-[10px] font-mono!", children: [
20636
- selectedSender.address.slice(0, 6),
20637
- "...",
20638
- selectedSender.address.slice(-4)
20639
- ] })
20640
- ]
20641
- }
20642
- )
20643
- ] }),
20644
- /* @__PURE__ */ jsxs87("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px]", children: [
20411
+ return /* @__PURE__ */ jsxs86("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] items-center", children: [
20412
+ /* @__PURE__ */ jsxs86("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
20413
+ /* @__PURE__ */ jsx95(
20414
+ "div",
20415
+ {
20416
+ className: cn(
20417
+ "flex items-center justify-between gap-[var(--ui-kit-gap)]",
20418
+ "text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
20419
+ ),
20420
+ children: /* @__PURE__ */ jsx95("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.sender") })
20421
+ }
20422
+ ),
20423
+ /* @__PURE__ */ jsxs86(
20424
+ Button,
20425
+ {
20426
+ disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
20427
+ variant: "default",
20428
+ className: "w-full justify-between",
20429
+ onClick: () => {
20430
+ useFlowSelectorStore.getState().setError(null);
20431
+ setBridgeStep("sender-selector");
20432
+ },
20433
+ children: [
20434
+ /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20435
+ selectedSender?.Icon && /* @__PURE__ */ jsx95(selectedSender.Icon, { className: "w-6 h-6" }),
20436
+ /* @__PURE__ */ jsx95("span", { children: selectedSender?.name || "N / A" })
20437
+ ] }),
20438
+ selectedSender?.address && /* @__PURE__ */ jsxs86("span", { className: "block text-[10px] font-mono!", children: [
20439
+ selectedSender.address.slice(0, 6),
20440
+ "...",
20441
+ selectedSender.address.slice(-4)
20442
+ ] })
20443
+ ]
20444
+ }
20445
+ ),
20446
+ /* @__PURE__ */ jsxs86("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px]", children: [
20645
20447
  /* @__PURE__ */ jsx95("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
20646
20448
  /* @__PURE__ */ jsx95("span", { className: "w-4 h-4" }),
20647
- /* @__PURE__ */ jsxs87("span", { className: "flex items-center gap-[var(--ui-kit-gap)] leading-4", children: [
20648
- isRouteTokenBalanceLoading && /* @__PURE__ */ jsx95(LoaderIcon10, { className: "w-4 h-4 animate-spin" }),
20649
- /* @__PURE__ */ jsxs87("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
20449
+ /* @__PURE__ */ jsxs86("span", { className: "flex items-center gap-[var(--ui-kit-gap)] leading-4", children: [
20450
+ /* @__PURE__ */ jsxs86("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
20650
20451
  t("passport:common.balance"),
20651
20452
  ": "
20652
20453
  ] }),
20653
- !isRouteTokenBalanceLoading && /* @__PURE__ */ jsxs87("span", { className: "font-semibold", children: [
20454
+ isRouteTokenBalanceLoading && /* @__PURE__ */ jsx95(LoaderIcon10, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }),
20455
+ !isRouteTokenBalanceLoading && /* @__PURE__ */ jsxs86("span", { className: "font-semibold", children: [
20654
20456
  formatPrice(Number(routeTokenBalance || 0)),
20655
20457
  " ",
20656
20458
  selectedWarpRoute?.symbol
20657
20459
  ] })
20658
20460
  ] })
20659
20461
  ] }),
20660
- /* @__PURE__ */ jsxs87(
20462
+ /* @__PURE__ */ jsxs86(
20661
20463
  Button,
20662
20464
  {
20663
- disabled: isQuoteEstimating,
20465
+ disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
20664
20466
  variant: "default",
20665
20467
  className: "w-full justify-between",
20666
20468
  onClick: () => {
@@ -20668,18 +20470,29 @@ function SelectStep(props) {
20668
20470
  setBridgeStep("select-token");
20669
20471
  },
20670
20472
  children: [
20671
- selectedWarpRoute && /* @__PURE__ */ jsxs87("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20473
+ selectedWarpRoute ? /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20672
20474
  /* @__PURE__ */ jsx95(SelectedWarpRoteIcon, { className: "w-6 h-6" }),
20673
20475
  /* @__PURE__ */ jsx95("span", { children: selectedWarpRoute.symbol })
20476
+ ] }) : /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
20477
+ /* @__PURE__ */ jsx95(ArrowLeftRightIcon, { className: "w-6 h-6" }),
20478
+ /* @__PURE__ */ jsx95("span", { children: hyperlaneWarpRoutes.length ? t("passport:bridgeMenu.labels.selectToken") : t("passport:bridgeMenu.errors.noWarpRoutes") })
20674
20479
  ] }),
20675
- /* @__PURE__ */ jsx95(Badge, { variant: "outline", size: "medium", className: "flex items-center gap-[var(--ui-kit-gap)] opacity-75", children: selectedWarpRoute?.chainPair?.map((chain, chIdx) => /* @__PURE__ */ jsxs87(Fragment37, { children: [
20676
- chIdx > 0 && /* @__PURE__ */ jsx95(ArrowLeftRightIcon2, { className: "w-4 h-4 text-[var(--ui-kit-fg-inverted)]" }),
20677
- /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
20678
- ] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`)) })
20480
+ !!selectedWarpRoute?.chainPair && /* @__PURE__ */ jsx95(
20481
+ Badge,
20482
+ {
20483
+ variant: "outline",
20484
+ size: "medium",
20485
+ className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
20486
+ children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ jsxs86(Fragment36, { children: [
20487
+ chIdx > 0 && /* @__PURE__ */ jsx95(ArrowLeftRightIcon, { className: "w-4 h-4 " }),
20488
+ /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
20489
+ ] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
20490
+ }
20491
+ )
20679
20492
  ]
20680
20493
  }
20681
20494
  ),
20682
- /* @__PURE__ */ jsxs87(
20495
+ /* @__PURE__ */ jsxs86(
20683
20496
  "div",
20684
20497
  {
20685
20498
  className: cn(
@@ -20692,27 +20505,27 @@ function SelectStep(props) {
20692
20505
  ]
20693
20506
  }
20694
20507
  ),
20695
- /* @__PURE__ */ jsxs87("div", { className: "w-full flex items-center justify-center", children: [
20696
- /* @__PURE__ */ jsxs87(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: [
20697
- originChain && /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
20698
- originChain && /* @__PURE__ */ jsx95("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
20699
- ] }),
20508
+ /* @__PURE__ */ jsxs86("div", { className: "w-full flex items-center justify-center", children: [
20509
+ /* @__PURE__ */ jsx95(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: originChain ? /* @__PURE__ */ jsxs86(Fragment37, { children: [
20510
+ /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
20511
+ /* @__PURE__ */ jsx95("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
20512
+ ] }) : /* @__PURE__ */ jsx95("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) }),
20700
20513
  /* @__PURE__ */ jsx95(
20701
20514
  Button,
20702
20515
  {
20703
20516
  size: "icon",
20704
- disabled: isQuoteEstimating,
20517
+ disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
20705
20518
  variant: "ghost",
20706
20519
  onClick: swapChains,
20707
20520
  children: /* @__PURE__ */ jsx95(ArrowRightLeftIcon, { className: "w-4 h-4 " })
20708
20521
  }
20709
20522
  ),
20710
- /* @__PURE__ */ jsxs87(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: [
20711
- destinationChain && /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
20712
- destinationChain && /* @__PURE__ */ jsx95("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
20713
- ] })
20523
+ /* @__PURE__ */ jsx95(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: destinationChain ? /* @__PURE__ */ jsxs86(Fragment37, { children: [
20524
+ /* @__PURE__ */ jsx95(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
20525
+ /* @__PURE__ */ jsx95("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
20526
+ ] }) : /* @__PURE__ */ jsx95("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) })
20714
20527
  ] }),
20715
- /* @__PURE__ */ jsxs87(
20528
+ /* @__PURE__ */ jsxs86(
20716
20529
  "div",
20717
20530
  {
20718
20531
  className: cn(
@@ -20750,7 +20563,7 @@ function SelectStep(props) {
20750
20563
  ]
20751
20564
  }
20752
20565
  ),
20753
- /* @__PURE__ */ jsxs87(
20566
+ /* @__PURE__ */ jsxs86(
20754
20567
  "div",
20755
20568
  {
20756
20569
  className: cn(
@@ -20768,7 +20581,7 @@ function SelectStep(props) {
20768
20581
  disabled: isQuoteEstimating || !originChain || !destinationChain || !hyperRoute,
20769
20582
  placeholder: t("passport:bridgeMenu.labels.optionalRecipient") + " (ex: 0x...)",
20770
20583
  value: recipient || "",
20771
- Icon: Wallet2Icon,
20584
+ Icon: Wallet2Icon2,
20772
20585
  onChange: (e) => {
20773
20586
  useFlowSelectorStore.getState().setError(null);
20774
20587
  setRecipient(e.target.value);
@@ -20777,7 +20590,7 @@ function SelectStep(props) {
20777
20590
  Button,
20778
20591
  {
20779
20592
  size: "icon",
20780
- disabled: isQuoteEstimating,
20593
+ disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
20781
20594
  variant: "ghost",
20782
20595
  onClick: (e) => {
20783
20596
  e.stopPropagation();
@@ -20792,14 +20605,14 @@ function SelectStep(props) {
20792
20605
  }
20793
20606
  )
20794
20607
  ] }),
20795
- !isError && /* @__PURE__ */ jsxs87(
20608
+ !isError && /* @__PURE__ */ jsxs86(
20796
20609
  Button,
20797
20610
  {
20798
20611
  size: "large",
20799
20612
  variant: "default",
20800
20613
  className: "w-full",
20801
20614
  onClick: () => handleQuoteEstimation(amount),
20802
- disabled: isQuoteEstimating || !selectedSender || !amount || !Number(amount) || !originChain || !destinationChain || !hyperRoute,
20615
+ disabled: isQuoteEstimating || !hyperlaneWarpRoutes.length || !selectedSender || !amount || !Number(amount) || !originChain || !destinationChain || !hyperRoute,
20803
20616
  children: [
20804
20617
  isQuoteEstimating && /* @__PURE__ */ jsx95(LoaderIcon10, { className: "h-4 w-4 animate-spin" }),
20805
20618
  /* @__PURE__ */ jsx95("span", { children: t("passport:bridgeMenu.actions.estimateQuote") })
@@ -20858,11 +20671,11 @@ var init_checkbox = __esm({
20858
20671
 
20859
20672
  // src/internal/components/SendMenu/hyperbridge/steps/ConfirmStep.tsx
20860
20673
  import { LoaderIcon as LoaderIcon11 } from "lucide-react";
20861
- import { useState as useState27 } from "react";
20862
- import { jsx as jsx97, jsxs as jsxs88 } from "react/jsx-runtime";
20674
+ import { useState as useState26 } from "react";
20675
+ import { jsx as jsx97, jsxs as jsxs87 } from "react/jsx-runtime";
20863
20676
  function ConfirmStep(props) {
20864
20677
  const { isAssetBridging, bridgeAsset, hyperlaneWarpRoutes } = props;
20865
- const [userConsent, setUserConsent] = useState27(false);
20678
+ const [userConsent, setUserConsent] = useState26(false);
20866
20679
  const { t } = useT();
20867
20680
  const address = useSession((st) => st.address);
20868
20681
  const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
@@ -20878,54 +20691,54 @@ function ConfirmStep(props) {
20878
20691
  const chainPairNames = chainPair.map((c) => c.chainName);
20879
20692
  return routeId === hyperRoute && chainPairNames.includes(originChain) && chainPairNames.includes(destinationChain);
20880
20693
  });
20881
- return /* @__PURE__ */ jsxs88("div", { className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20882
- /* @__PURE__ */ jsxs88(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20883
- /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20694
+ return /* @__PURE__ */ jsxs87("div", { className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20695
+ /* @__PURE__ */ jsxs87(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20696
+ /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20884
20697
  /* @__PURE__ */ jsx97("span", { children: t("passport:common.asset") }),
20885
20698
  /* @__PURE__ */ jsx97("strong", { children: selectedWarpRoute.symbol })
20886
20699
  ] }),
20887
- /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20700
+ /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20888
20701
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.sender") }),
20889
20702
  /* @__PURE__ */ jsx97("strong", { children: bridgeSender.name + " (" + (bridgeSender?.address || "").slice(0, 6) + "..." + (bridgeSender?.address || "").slice(-4) + ")" })
20890
20703
  ] }),
20891
- /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20704
+ /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20892
20705
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
20893
20706
  /* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[originChain].chainLabel })
20894
20707
  ] }),
20895
- /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20708
+ /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20896
20709
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.labels.toChain") }),
20897
20710
  /* @__PURE__ */ jsx97("strong", { children: CHAINS_UI_META[destinationChain].chainLabel })
20898
20711
  ] }),
20899
- /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20712
+ /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20900
20713
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.amount") }),
20901
20714
  /* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(quote.amount)) })
20902
20715
  ] }),
20903
- /* @__PURE__ */ jsxs88("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20716
+ /* @__PURE__ */ jsxs87("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20904
20717
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
20905
- /* @__PURE__ */ jsxs88("strong", { children: [
20718
+ /* @__PURE__ */ jsxs87("strong", { children: [
20906
20719
  /* @__PURE__ */ jsx97("span", { children: formatPrice(Number(quote.igpFee)) }),
20907
- /* @__PURE__ */ jsxs88("span", { children: [
20720
+ /* @__PURE__ */ jsxs87("span", { children: [
20908
20721
  " ",
20909
20722
  quote.igpSymbol
20910
20723
  ] })
20911
20724
  ] })
20912
20725
  ] }),
20913
- /* @__PURE__ */ jsxs88("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20726
+ /* @__PURE__ */ jsxs87("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20914
20727
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.localFee") }),
20915
- /* @__PURE__ */ jsxs88("strong", { children: [
20728
+ /* @__PURE__ */ jsxs87("strong", { children: [
20916
20729
  /* @__PURE__ */ jsx97("span", { children: formatPrice(Number(quote.localFee)) }),
20917
- /* @__PURE__ */ jsxs88("span", { children: [
20730
+ /* @__PURE__ */ jsxs87("span", { children: [
20918
20731
  " ",
20919
20732
  quote.localSymbol
20920
20733
  ] })
20921
20734
  ] })
20922
20735
  ] }),
20923
- quote.tokenFee && /* @__PURE__ */ jsxs88("p", { className: P_CN, children: [
20736
+ quote.tokenFee && /* @__PURE__ */ jsxs87("p", { className: P_CN, children: [
20924
20737
  /* @__PURE__ */ jsx97("span", { children: t("passport:bridgeMenu.quote.tokenFee") }),
20925
20738
  /* @__PURE__ */ jsx97("strong", { children: formatPrice(Number(quote.tokenFee)) })
20926
20739
  ] })
20927
20740
  ] }),
20928
- /* @__PURE__ */ jsxs88(Highlight, { type: "warning", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20741
+ /* @__PURE__ */ jsxs87(Highlight, { type: "warning", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20929
20742
  /* @__PURE__ */ jsx97("strong", { className: "text-xs", children: t("passport:bridgeMenu.quote.recipient") }),
20930
20743
  /* @__PURE__ */ jsx97(
20931
20744
  "span",
@@ -20945,7 +20758,7 @@ function ConfirmStep(props) {
20945
20758
  asset: selectedWarpRoute.symbol
20946
20759
  }) }),
20947
20760
  /* @__PURE__ */ jsx97("strong", { className: "text-xs text-[var(--ui-kit-bg-error)]", children: t("passport:bridgeMenu.consent.lostFunds") }),
20948
- /* @__PURE__ */ jsxs88("label", { className: "flex items-center gap-[var(--ui-kit-gap)] text-xs cursor-pointer", children: [
20761
+ /* @__PURE__ */ jsxs87("label", { className: "flex items-center gap-[var(--ui-kit-gap)] text-xs cursor-pointer", children: [
20949
20762
  /* @__PURE__ */ jsx97(Checkbox, { checked: userConsent, onCheckedChange: () => setUserConsent((prev) => !prev) }),
20950
20763
  /* @__PURE__ */ jsx97("strong", { children: t("passport:bridgeMenu.actions.confirmBridge", {
20951
20764
  amount: quote.amount,
@@ -20954,7 +20767,7 @@ function ConfirmStep(props) {
20954
20767
  }) })
20955
20768
  ] })
20956
20769
  ] }),
20957
- !isError && /* @__PURE__ */ jsxs88(
20770
+ !isError && /* @__PURE__ */ jsxs87(
20958
20771
  Button,
20959
20772
  {
20960
20773
  size: "large",
@@ -20988,42 +20801,58 @@ var init_ConfirmStep = __esm({
20988
20801
  });
20989
20802
 
20990
20803
  // src/internal/components/SendMenu/hyperbridge/steps/SuccessStep.tsx
20991
- import { Fragment as Fragment39, jsx as jsx98, jsxs as jsxs89 } from "react/jsx-runtime";
20804
+ import { jsx as jsx98, jsxs as jsxs88 } from "react/jsx-runtime";
20992
20805
  function SuccessStep() {
20993
20806
  const { t } = useT();
20994
20807
  const address = useSession((st) => st.address);
20808
+ const operationHashes = useOperationHashesStore((st) => st.operationHashes);
20809
+ const bridgeSender = useBridgeStore((st) => st.bridgeSenders.find((s) => s.type === st.bridgeSender));
20995
20810
  const amount = useBridgeStore((st) => st.amount);
20996
20811
  const originChain = useBridgeStore((st) => st.originChain);
20997
20812
  const destinationChain = useBridgeStore((st) => st.destinationChain);
20998
20813
  const recipient = useBridgeStore((st) => st.recipient);
20999
- const lastTxHashes = useBridgeStore((st) => st.lastTxHashes);
21000
20814
  const bridgeTxStatus = useBridgeStore((st) => st.bridgeTxStatus);
21001
20815
  const recipientAddress = (recipient || address).slice(0, 6) + "..." + (recipient || address).slice(-4);
21002
- return /* @__PURE__ */ jsxs89(Fragment39, { children: [
21003
- /* @__PURE__ */ jsxs89(Highlight, { type: "success", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
21004
- /* @__PURE__ */ jsxs89("p", { className: P_CN2, children: [
21005
- /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.status") }),
21006
- /* @__PURE__ */ jsx98("strong", { children: bridgeTxStatus })
21007
- ] }),
21008
- /* @__PURE__ */ jsxs89("p", { className: P_CN2, children: [
21009
- /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.recipient") }),
21010
- /* @__PURE__ */ jsx98("strong", { children: recipientAddress })
21011
- ] }),
21012
- /* @__PURE__ */ jsxs89("p", { className: P_CN2, children: [
21013
- /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
21014
- /* @__PURE__ */ jsx98("strong", { children: CHAINS_UI_META[originChain].chainLabel })
21015
- ] }),
21016
- /* @__PURE__ */ jsxs89("p", { className: P_CN2, children: [
21017
- /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.labels.toChain") }),
21018
- /* @__PURE__ */ jsx98("strong", { children: CHAINS_UI_META[destinationChain].chainLabel })
21019
- ] }),
21020
- /* @__PURE__ */ jsxs89("p", { className: P_CN2, children: [
21021
- /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.amount") }),
21022
- /* @__PURE__ */ jsx98("strong", { children: formatPrice(Number(amount)) })
21023
- ] }),
21024
- /* @__PURE__ */ jsx98("p", { className: "mt-[var(--ui-kit-gap)]", children: t("passport:bridgeMenu.labels.bridgeTransactions") + ":" }),
21025
- lastTxHashes.map((hash) => /* @__PURE__ */ jsx98("p", { className: "truncate max-w-full font-mono! text-sm", children: hash }, hash))
20816
+ return /* @__PURE__ */ jsxs88(Highlight, { className: "flex flex-col gap-1 text-xs leading-4", children: [
20817
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20818
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.status") }),
20819
+ /* @__PURE__ */ jsx98("strong", { children: bridgeTxStatus })
20820
+ ] }),
20821
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20822
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.sender") }),
20823
+ /* @__PURE__ */ jsx98("strong", { children: bridgeSender.name + " (" + (bridgeSender?.address || "").slice(0, 6) + "..." + (bridgeSender?.address || "").slice(-4) + ")" })
20824
+ ] }),
20825
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20826
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.recipient") }),
20827
+ /* @__PURE__ */ jsx98("strong", { children: recipientAddress })
20828
+ ] }),
20829
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20830
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
20831
+ /* @__PURE__ */ jsx98("strong", { children: CHAINS_UI_META[originChain].chainLabel })
20832
+ ] }),
20833
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20834
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.labels.toChain") }),
20835
+ /* @__PURE__ */ jsx98("strong", { children: CHAINS_UI_META[destinationChain].chainLabel })
21026
20836
  ] }),
20837
+ /* @__PURE__ */ jsxs88("p", { className: P_CN2, children: [
20838
+ /* @__PURE__ */ jsx98("span", { children: t("passport:bridgeMenu.quote.amount") }),
20839
+ /* @__PURE__ */ jsx98("strong", { children: formatPrice(Number(amount)) })
20840
+ ] }),
20841
+ operationHashes.length && /* @__PURE__ */ jsxs88(
20842
+ "div",
20843
+ {
20844
+ className: cn(
20845
+ "w-full",
20846
+ "flex flex-col items-end",
20847
+ "p-[var(--ui-kit-pd)] bg-[var(--ui-kit-bg)]",
20848
+ "rounded-[var(--ui-kit-el-bdrs)]"
20849
+ ),
20850
+ children: [
20851
+ /* @__PURE__ */ jsx98("p", { className: "w-full text-left", children: t("passport:bridgeMenu.labels.bridgeTransactions") + ":" }),
20852
+ operationHashes.map((hash) => /* @__PURE__ */ jsx98("p", { className: "flex-none font-mono! text-xs leading-5 w-fit", children: hash.slice(0, 8) + "..." + hash.slice(-8) }, hash))
20853
+ ]
20854
+ }
20855
+ ),
21027
20856
  /* @__PURE__ */ jsx98(
21028
20857
  Button,
21029
20858
  {
@@ -21032,8 +20861,11 @@ function SuccessStep() {
21032
20861
  className: "w-full",
21033
20862
  onClick: () => {
21034
20863
  useFlowSelectorStore.getState().setError(null);
20864
+ useOperationHashesStore.getState().setOperationHashes([]);
20865
+ useOperationHashesStore.getState().setHyperlaneDatabaseTx(null);
21035
20866
  useBridgeStore.getState().setBridgeTxStatus(null);
21036
- useBridgeStore.getState().setLastTxHashes([]);
20867
+ useBridgeStore.getState().setQuote(null);
20868
+ useBridgeStore.getState().setAmount("");
21037
20869
  useBridgeStore.getState().setBridgeStep("select");
21038
20870
  },
21039
20871
  children: /* @__PURE__ */ jsx98("span", { children: `${t("passport:common.continue")}`.toUpperCase() })
@@ -21044,77 +20876,115 @@ function SuccessStep() {
21044
20876
  var P_CN2;
21045
20877
  var init_SuccessStep = __esm({
21046
20878
  "src/internal/components/SendMenu/hyperbridge/steps/SuccessStep.tsx"() {
20879
+ init_utils2();
21047
20880
  init_SessionContext();
21048
20881
  init_i18n();
21049
20882
  init_priceFormatter();
21050
20883
  init_button();
21051
20884
  init_highlight();
21052
20885
  init_useFlowSelector();
20886
+ init_useOperationHashesStore();
21053
20887
  init_chains();
21054
20888
  init_useBridgeStore();
21055
- P_CN2 = "w-full flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]";
20889
+ P_CN2 = "w-full flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)] leading-4";
20890
+ }
20891
+ });
20892
+
20893
+ // src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts
20894
+ import { useQuery as useQuery22 } from "@tanstack/react-query";
20895
+ import { useState as useState27 } from "react";
20896
+ function useHyperlaneHistory() {
20897
+ const address = useSession((st) => st.address);
20898
+ const page = useLayoutDataStore((st) => st.page);
20899
+ const flow = useFlowSelectorStore((st) => st.flow);
20900
+ const bridgeStep = useBridgeStore((st) => st.bridgeStep);
20901
+ const [currentPage, setCurrentPage] = useState27(1);
20902
+ const query = useQuery22({
20903
+ retry: false,
20904
+ refetchInterval: TX_HISTORY_POLLING_INTERVAL,
20905
+ enabled: bridgeStep === "tx-history" && !!address && page === "send" /* SEND */ && flow === "bridge",
20906
+ queryKey: [HYPERLANE_HISTORY_QUERY_KEY, address, currentPage],
20907
+ queryFn: async () => await getHyperlaneBridgeHistory({ page: currentPage, pageSize: TX_HISTORY_PAGE_SIZE })
20908
+ });
20909
+ return {
20910
+ ...query,
20911
+ currentPage,
20912
+ setCurrentPage
20913
+ };
20914
+ }
20915
+ var HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
20916
+ var init_useHyperlaneHistory = __esm({
20917
+ "src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
20918
+ init_SessionContext();
20919
+ init_useLayoutDataStore();
20920
+ init_useFlowSelector();
20921
+ init_api4();
20922
+ init_useBridgeStore();
20923
+ HYPERLANE_HISTORY_QUERY_KEY = "hyperlane-tx-history-query-key";
20924
+ TX_HISTORY_PAGE_SIZE = 3;
20925
+ TX_HISTORY_POLLING_INTERVAL = 1e3 * 45;
21056
20926
  }
21057
20927
  });
21058
20928
 
21059
20929
  // src/internal/components/SendMenu/hyperbridge/steps/HistoryStep.tsx
21060
- import { useQueryClient as useQueryClient25 } from "@tanstack/react-query";
20930
+ import { useQueryClient as useQueryClient24 } from "@tanstack/react-query";
21061
20931
  import dayjs7 from "dayjs";
21062
- import { ArrowRightIcon, ExternalLinkIcon as ExternalLinkIcon2 } from "lucide-react";
21063
- import { jsx as jsx99, jsxs as jsxs90 } from "react/jsx-runtime";
20932
+ import { ArrowRightIcon, ExternalLinkIcon as ExternalLinkIcon2, LoaderIcon as LoaderIcon12 } from "lucide-react";
20933
+ import { jsx as jsx99, jsxs as jsxs89 } from "react/jsx-runtime";
21064
20934
  function HistoryDetailsStep() {
21065
20935
  const { t } = useT();
21066
20936
  const item = useBridgeStore((st) => st.bridgeHistoryItem);
21067
20937
  const destinationAdress = item.recipient || item.address;
21068
- return /* @__PURE__ */ jsxs90(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
21069
- /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20938
+ return /* @__PURE__ */ jsxs89(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
20939
+ /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21070
20940
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.sender") }),
21071
- /* @__PURE__ */ jsxs90("strong", { children: [
20941
+ /* @__PURE__ */ jsxs89("strong", { children: [
21072
20942
  item.address.slice(0, 6),
21073
20943
  "...",
21074
20944
  item.address.slice(-4)
21075
20945
  ] })
21076
20946
  ] }),
21077
- /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20947
+ /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21078
20948
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.recipient") }),
21079
- /* @__PURE__ */ jsxs90("strong", { children: [
20949
+ /* @__PURE__ */ jsxs89("strong", { children: [
21080
20950
  destinationAdress.slice(0, 6),
21081
20951
  "...",
21082
20952
  destinationAdress.slice(-4)
21083
20953
  ] })
21084
20954
  ] }),
21085
- /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20955
+ /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21086
20956
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
21087
20957
  /* @__PURE__ */ jsx99("strong", { children: CHAINS_UI_META[item.originChain].chainLabel })
21088
20958
  ] }),
21089
- /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20959
+ /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21090
20960
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.labels.toChain") }),
21091
20961
  /* @__PURE__ */ jsx99("strong", { children: CHAINS_UI_META[item.destinationChain].chainLabel })
21092
20962
  ] }),
21093
- /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20963
+ /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21094
20964
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.amount") }),
21095
20965
  /* @__PURE__ */ jsx99("strong", { children: formatPrice(Number(item.quote.amount)) })
21096
20966
  ] }),
21097
- /* @__PURE__ */ jsxs90("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20967
+ /* @__PURE__ */ jsxs89("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
21098
20968
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
21099
- /* @__PURE__ */ jsxs90("strong", { children: [
20969
+ /* @__PURE__ */ jsxs89("strong", { children: [
21100
20970
  /* @__PURE__ */ jsx99("span", { children: formatPrice(Number(item.quote.igpFee)) }),
21101
- /* @__PURE__ */ jsxs90("span", { children: [
20971
+ /* @__PURE__ */ jsxs89("span", { children: [
21102
20972
  " ",
21103
20973
  item.quote.igpSymbol
21104
20974
  ] })
21105
20975
  ] })
21106
20976
  ] }),
21107
- /* @__PURE__ */ jsxs90("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
20977
+ /* @__PURE__ */ jsxs89("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
21108
20978
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.localFee") }),
21109
- /* @__PURE__ */ jsxs90("strong", { children: [
20979
+ /* @__PURE__ */ jsxs89("strong", { children: [
21110
20980
  /* @__PURE__ */ jsx99("span", { children: formatPrice(Number(item.quote.localFee)) }),
21111
- /* @__PURE__ */ jsxs90("span", { children: [
20981
+ /* @__PURE__ */ jsxs89("span", { children: [
21112
20982
  " ",
21113
20983
  item.quote.localSymbol
21114
20984
  ] })
21115
20985
  ] })
21116
20986
  ] }),
21117
- item.quote.tokenFee && /* @__PURE__ */ jsxs90("p", { className: P_CN3, children: [
20987
+ item.quote.tokenFee && /* @__PURE__ */ jsxs89("p", { className: P_CN3, children: [
21118
20988
  /* @__PURE__ */ jsx99("span", { children: t("passport:bridgeMenu.quote.tokenFee") }),
21119
20989
  /* @__PURE__ */ jsx99("strong", { children: formatPrice(Number(item.quote.tokenFee)) })
21120
20990
  ] }),
@@ -21125,7 +20995,7 @@ function HistoryDetailsStep() {
21125
20995
  target: "_blank",
21126
20996
  rel: "noopener noreferrer",
21127
20997
  className: "w-full block",
21128
- children: /* @__PURE__ */ jsxs90(Badge, { variant: "outline", size: "default", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: [
20998
+ children: /* @__PURE__ */ jsxs89(Badge, { variant: "outline", size: "default", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: [
21129
20999
  /* @__PURE__ */ jsx99(ExternalLinkIcon2, { className: "w-4 h-4" }),
21130
21000
  txHash ? `${txHash.slice(0, 10)}...${txHash.slice(-4)}` : "N/A"
21131
21001
  ] })
@@ -21174,7 +21044,7 @@ function HistoryItem(props) {
21174
21044
  updatedAt,
21175
21045
  txStatus
21176
21046
  } = props;
21177
- const qc = useQueryClient25();
21047
+ const qc = useQueryClient24();
21178
21048
  const address = useSession((st) => st.address);
21179
21049
  const warpRoutes = qc.getQueryData([HYPERLANE_WARP_ROUTES_QUERY_KEY, address]);
21180
21050
  const assetWarpRoute = warpRoutes?.find((route) => {
@@ -21184,7 +21054,7 @@ function HistoryItem(props) {
21184
21054
  });
21185
21055
  const AssetIcon = TOKENS_ICONS[(assetWarpRoute?.symbol || "n/a").toUpperCase()] || TOKENS_ICONS["DEFAULT"];
21186
21056
  const destinationAdress = recipient || fromAddress;
21187
- return /* @__PURE__ */ jsxs90(
21057
+ return /* @__PURE__ */ jsxs89(
21188
21058
  "div",
21189
21059
  {
21190
21060
  onClick: () => {
@@ -21194,38 +21064,39 @@ function HistoryItem(props) {
21194
21064
  },
21195
21065
  className: cn(
21196
21066
  "w-full cursor-pointer",
21197
- // 'flex items-start',
21198
21067
  "flex flex-col gap-1",
21068
+ // gap-[var(--ui-kit-gap)]
21199
21069
  "bg-[var(--ui-kit-secondary)]",
21200
21070
  "border border-[var(--ui-kit-bd)]",
21201
- "gap-[var(--ui-kit-gap)] p-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)]",
21071
+ "p-2 rounded-[var(--ui-kit-el-bdrs)]",
21072
+ // p-[var(--ui-kit-pd)]
21202
21073
  "hover:bg-[var(--ui-kit-secondary-h)] active:bg-[var(--ui-kit-secondary-a)]",
21203
21074
  "transition-colors duration-200"
21204
21075
  ),
21205
21076
  children: [
21206
- /* @__PURE__ */ jsxs90("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between", children: [
21207
- /* @__PURE__ */ jsxs90("span", { className: "font-bold text-lg leading-6 flex items-center gap-[var(--ui-kit-gap)]", children: [
21077
+ /* @__PURE__ */ jsxs89("div", { className: "flex items-center gap-[var(--ui-kit-gap)] justify-between", children: [
21078
+ /* @__PURE__ */ jsxs89("span", { className: "font-bold text-lg leading-6 flex items-center gap-[var(--ui-kit-gap)]", children: [
21208
21079
  /* @__PURE__ */ jsx99(AssetIcon, { className: "w-6 h-6 flex-none" }),
21209
21080
  /* @__PURE__ */ jsx99("span", { children: formatPrice(Number(quote.amount)) }),
21210
21081
  /* @__PURE__ */ jsx99("span", { children: assetWarpRoute?.symbol || "" })
21211
21082
  ] }),
21212
21083
  /* @__PURE__ */ jsx99(Badge, { variant: resolveStatusBadgeVariant(txStatus), children: resolveStatusBadgeCaptions(txStatus) })
21213
21084
  ] }),
21214
- /* @__PURE__ */ jsxs90("div", { className: "w-full flex items-center gap-1 justify-center", children: [
21215
- /* @__PURE__ */ jsxs90(
21085
+ /* @__PURE__ */ jsxs89("div", { className: "w-full flex items-center justify-center", children: [
21086
+ /* @__PURE__ */ jsxs89(
21216
21087
  "div",
21217
21088
  {
21218
21089
  className: cn(
21219
- "max-w-[calc(50%-12px)]",
21090
+ "max-w-[calc(50%-8px)]",
21220
21091
  "flex flex-col flex-1 items-end p-2 bg-[var(--ui-kit-bg)]",
21221
21092
  "border border-[var(--ui-kit-bd)] rounded-[var(--ui-kit-el-bdrs)]"
21222
21093
  ),
21223
21094
  children: [
21224
- /* @__PURE__ */ jsxs90("div", { className: "flex w-full items-center justify-between gap-[var(--ui-kit-gap)] leading-5", children: [
21095
+ /* @__PURE__ */ jsxs89("div", { className: "flex w-full items-center justify-between gap-[var(--ui-kit-gap)] leading-5", children: [
21225
21096
  /* @__PURE__ */ jsx99(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6 flex-none" }),
21226
21097
  /* @__PURE__ */ jsx99("span", { className: "block flex-1 text-xs truncate", children: CHAINS_UI_META[originChain]?.chainLabel || "N/A" })
21227
21098
  ] }),
21228
- /* @__PURE__ */ jsxs90("strong", { className: "text-[10px] leading-5", children: [
21099
+ /* @__PURE__ */ jsxs89("strong", { className: "text-[10px] leading-5", children: [
21229
21100
  fromAddress.slice(0, 6),
21230
21101
  "...",
21231
21102
  fromAddress.slice(-4)
@@ -21234,20 +21105,20 @@ function HistoryItem(props) {
21234
21105
  }
21235
21106
  ),
21236
21107
  /* @__PURE__ */ jsx99(ArrowRightIcon, { className: "w-4 h-4 flex-none" }),
21237
- /* @__PURE__ */ jsxs90(
21108
+ /* @__PURE__ */ jsxs89(
21238
21109
  "div",
21239
21110
  {
21240
21111
  className: cn(
21241
- "max-w-[calc(50%-12px)]",
21112
+ "max-w-[calc(50%-8px)]",
21242
21113
  "flex flex-col flex-1 items-start p-2 bg-[var(--ui-kit-bg)]",
21243
21114
  "border border-[var(--ui-kit-bd)] rounded-[var(--ui-kit-el-bdrs)]"
21244
21115
  ),
21245
21116
  children: [
21246
- /* @__PURE__ */ jsxs90("div", { className: "flex w-full items-center justify-between gap-[var(--ui-kit-gap)] leading-5", children: [
21117
+ /* @__PURE__ */ jsxs89("div", { className: "flex w-full items-center justify-between gap-[var(--ui-kit-gap)] leading-5", children: [
21247
21118
  /* @__PURE__ */ jsx99("span", { className: "block flex-1 text-xs truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel || "N/A" }),
21248
21119
  /* @__PURE__ */ jsx99(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6 flex-none" })
21249
21120
  ] }),
21250
- /* @__PURE__ */ jsxs90("strong", { className: "text-[10px] leading-5", children: [
21121
+ /* @__PURE__ */ jsxs89("strong", { className: "text-[10px] leading-5", children: [
21251
21122
  destinationAdress.slice(0, 6),
21252
21123
  "...",
21253
21124
  destinationAdress.slice(-4)
@@ -21256,19 +21127,34 @@ function HistoryItem(props) {
21256
21127
  }
21257
21128
  )
21258
21129
  ] }),
21259
- /* @__PURE__ */ jsx99("span", { className: "block w-full text-[10px] text-[var(--ui-kit-fg-muted)]", children: dayjs7(updatedAt).format("MMMM D, YYYY [at] HH:mm") })
21130
+ /* @__PURE__ */ jsx99("span", { className: "block w-full text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: dayjs7(updatedAt).format("MMMM D, YYYY [at] HH:mm") })
21260
21131
  ]
21261
21132
  }
21262
21133
  );
21263
21134
  }
21264
- function HistoryStep(props) {
21265
- const { historyQuery } = props;
21135
+ function HistoryStep() {
21266
21136
  const { t } = useT();
21267
- const { data: historyItems = [] } = historyQuery?.data || {};
21268
- if (!historyItems || historyItems.length === 0) {
21269
- return /* @__PURE__ */ jsx99(Highlight, { type: "info", className: "w-full text-center text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.errors.noHistory") });
21270
- }
21271
- return /* @__PURE__ */ jsx99("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: historyItems.map((item) => /* @__PURE__ */ jsx99(HistoryItem, { ...item }, item.id)) });
21137
+ const { setCurrentPage, ...historyQuery } = useHyperlaneHistory();
21138
+ const { data: historyItemsData, isLoading: isHistoryLoading } = historyQuery || {};
21139
+ const { data: historyItems = [], page, pageCount } = historyItemsData || {};
21140
+ if (!isHistoryLoading && historyItems.length === 0) {
21141
+ return /* @__PURE__ */ jsx99(Highlight, { type: "info", className: "w-full text-center text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:bridgeMenu.errors.noHistory") });
21142
+ }
21143
+ return /* @__PURE__ */ jsxs89("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
21144
+ isHistoryLoading && /* @__PURE__ */ jsx99("div", { className: "w-full flex items-center justify-center p-[var(--ui-kit-pd)]", children: /* @__PURE__ */ jsx99(LoaderIcon12, { className: "w-4 h-4 animate-spin" }) }),
21145
+ !isHistoryLoading && !!historyItems.length && /* @__PURE__ */ jsxs89("div", { className: "w-full flex items-center justify-between px-[var(--ui-kit-pd)]", children: [
21146
+ /* @__PURE__ */ jsx99(Button, { variant: "outline", size: "medium", onClick: () => setCurrentPage(page - 1), disabled: page <= 1, children: t("passport:common.prev") }),
21147
+ /* @__PURE__ */ jsxs89("span", { className: "text-xs white-space-nowrap leading-4", children: [
21148
+ /* @__PURE__ */ jsx99("span", { className: " text-[var(--ui-kit-fg-muted)]", children: t("passport:common.page") }),
21149
+ /* @__PURE__ */ jsx99("span", { children: ": " }),
21150
+ /* @__PURE__ */ jsx99("strong", { children: page }),
21151
+ /* @__PURE__ */ jsx99("span", { children: " / " }),
21152
+ /* @__PURE__ */ jsx99("span", { className: " text-[var(--ui-kit-fg-muted)]", children: pageCount })
21153
+ ] }),
21154
+ /* @__PURE__ */ jsx99(Button, { variant: "outline", size: "medium", onClick: () => setCurrentPage(page + 1), disabled: page >= pageCount, children: t("passport:common.next") })
21155
+ ] }),
21156
+ !isHistoryLoading && historyItems.map((item) => /* @__PURE__ */ jsx99(HistoryItem, { ...item }, item.id))
21157
+ ] });
21272
21158
  }
21273
21159
  var P_CN3;
21274
21160
  var init_HistoryStep = __esm({
@@ -21279,8 +21165,10 @@ var init_HistoryStep = __esm({
21279
21165
  init_priceFormatter();
21280
21166
  init_utils2();
21281
21167
  init_badge();
21168
+ init_button();
21282
21169
  init_highlight();
21283
21170
  init_ResolveChainIcon();
21171
+ init_useHyperlaneHistory();
21284
21172
  init_useHyperlaneRoutes();
21285
21173
  init_chains();
21286
21174
  init_useBridgeStore();
@@ -21288,6 +21176,124 @@ var init_HistoryStep = __esm({
21288
21176
  }
21289
21177
  });
21290
21178
 
21179
+ // src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx
21180
+ import { ArrowLeftRightIcon as ArrowLeftRightIcon2 } from "lucide-react";
21181
+ import { useMemo as useMemo8, useState as useState28 } from "react";
21182
+ import { Fragment as Fragment38, jsx as jsx100, jsxs as jsxs90 } from "react/jsx-runtime";
21183
+ function SelectAssetRoute(props) {
21184
+ const { hyperlaneWarpRoutes } = props;
21185
+ const { t } = useT();
21186
+ const [isTokenSymbolSelector, setIsTokenSymbolSelector] = useState28(false);
21187
+ const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
21188
+ const tokenList = useMemo8(() => {
21189
+ const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
21190
+ const uniqueTokens = Array.from(new Set(tokens));
21191
+ return uniqueTokens.map((symbol) => ({
21192
+ symbol: symbol.toUpperCase(),
21193
+ Icon: TOKENS_ICONS[symbol.toUpperCase()] || TOKENS_ICONS.EMBARKAI
21194
+ }));
21195
+ }, [hyperlaneWarpRoutes]);
21196
+ if (isTokenSymbolSelector) {
21197
+ return /* @__PURE__ */ jsx100("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ jsxs90(
21198
+ Button,
21199
+ {
21200
+ variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
21201
+ className: "w-full",
21202
+ onClick: () => {
21203
+ useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
21204
+ setIsTokenSymbolSelector(false);
21205
+ useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-token-${asset.symbol}-${Date.now()}`);
21206
+ },
21207
+ children: [
21208
+ /* @__PURE__ */ jsx100(asset.Icon, { className: "w-6 h-6" }),
21209
+ asset.symbol
21210
+ ]
21211
+ },
21212
+ `hyperlane-route-token-${asset.symbol}-${assetIdx}`
21213
+ )) });
21214
+ }
21215
+ const selectedAsset = tokenList.find((t2) => t2.symbol === selectedAssetSymbol);
21216
+ const availableChainPairs = hyperlaneWarpRoutes.filter((route) => route.symbol.toUpperCase() === selectedAssetSymbol).map((route) => route.chainPair);
21217
+ return /* @__PURE__ */ jsxs90("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
21218
+ /* @__PURE__ */ jsx100("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
21219
+ /* @__PURE__ */ jsx100(
21220
+ Button,
21221
+ {
21222
+ variant: "default",
21223
+ className: "w-full",
21224
+ onClick: () => {
21225
+ setIsTokenSymbolSelector(true);
21226
+ useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-asset-selector-${Date.now()}`);
21227
+ },
21228
+ children: selectedAsset ? /* @__PURE__ */ jsxs90(Fragment38, { children: [
21229
+ /* @__PURE__ */ jsx100(selectedAsset.Icon, { className: "w-6 h-6" }),
21230
+ selectedAsset.symbol
21231
+ ] }) : t("passport:bridgeMenu.actions.selectAsset")
21232
+ }
21233
+ ),
21234
+ availableChainPairs.length > 0 && /* @__PURE__ */ jsxs90(Fragment38, { children: [
21235
+ /* @__PURE__ */ jsx100("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.availableChainPairs") }),
21236
+ /* @__PURE__ */ jsx100("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: availableChainPairs.map(([fromChain, toChain]) => /* @__PURE__ */ jsxs90(
21237
+ Button,
21238
+ {
21239
+ variant: "outline",
21240
+ className: "w-full",
21241
+ onClick: () => {
21242
+ const targetWarpRoute = hyperlaneWarpRoutes.find((route) => {
21243
+ const { symbol, chainPair } = route;
21244
+ const chainPairNames = chainPair.map((c) => c.chainName);
21245
+ return symbol === selectedAssetSymbol && chainPairNames.includes(fromChain.chainName) && chainPairNames.includes(toChain.chainName);
21246
+ });
21247
+ if (!targetWarpRoute) {
21248
+ console.error("No matching warp route found for selected asset and chain pair");
21249
+ return;
21250
+ }
21251
+ const { setOriginChain, setDestinationChain, setHyperRoute, setBridgeStep } = useBridgeStore.getState();
21252
+ let originChainIndex = 0;
21253
+ let destinationChainIndex = 1;
21254
+ if (useBridgeStore.getState().bridgeSender === "embarkai-wallet") {
21255
+ const foundIdx = targetWarpRoute.chainPair.findIndex(
21256
+ (chain) => isOririnChainEmbarkSupported(chain.chainName)
21257
+ );
21258
+ if (foundIdx !== -1) {
21259
+ originChainIndex = foundIdx;
21260
+ destinationChainIndex = foundIdx === 0 ? 1 : 0;
21261
+ }
21262
+ }
21263
+ setOriginChain(targetWarpRoute.chainPair[originChainIndex].chainName);
21264
+ setDestinationChain(targetWarpRoute.chainPair[destinationChainIndex].chainName);
21265
+ setHyperRoute(targetWarpRoute.routeId);
21266
+ setBridgeStep("select");
21267
+ },
21268
+ children: [
21269
+ /* @__PURE__ */ jsxs90("span", { className: "flex items-center flex-1 gap-[var(--ui-kit-gap)] justify-between", children: [
21270
+ /* @__PURE__ */ jsx100(ResolveChainIcon, { chainName: fromChain.chainName, className: "w-6 h-6 flex-none" }),
21271
+ /* @__PURE__ */ jsx100("span", { className: "max-w-[100px] truncate", children: fromChain.chainLabel })
21272
+ ] }),
21273
+ /* @__PURE__ */ jsx100(ArrowLeftRightIcon2, { className: "w-4 h-4 flex-none" }),
21274
+ /* @__PURE__ */ jsxs90("span", { className: "flex items-center flex-1 gap-[var(--ui-kit-gap)] justify-between", children: [
21275
+ /* @__PURE__ */ jsx100("span", { className: "max-w-[100px] truncate", children: toChain.chainLabel }),
21276
+ /* @__PURE__ */ jsx100(ResolveChainIcon, { chainName: toChain.chainName, className: "w-6 h-6 flex-none" })
21277
+ ] })
21278
+ ]
21279
+ },
21280
+ `hyperlane-route-chain-pair-${fromChain.chainName}-${toChain.chainName}`
21281
+ )) })
21282
+ ] })
21283
+ ] });
21284
+ }
21285
+ var init_SelectAssetRoute = __esm({
21286
+ "src/internal/components/SendMenu/hyperbridge/steps/SelectAssetRoute.tsx"() {
21287
+ init_tokens();
21288
+ init_i18n();
21289
+ init_button();
21290
+ init_useFlowSelector();
21291
+ init_ResolveChainIcon();
21292
+ init_useBridgeStore();
21293
+ init_utils8();
21294
+ }
21295
+ });
21296
+
21291
21297
  // src/internal/components/SendMenu/hyperbridge/steps/index.ts
21292
21298
  var init_steps = __esm({
21293
21299
  "src/internal/components/SendMenu/hyperbridge/steps/index.ts"() {
@@ -21295,28 +21301,27 @@ var init_steps = __esm({
21295
21301
  init_ConfirmStep();
21296
21302
  init_SuccessStep();
21297
21303
  init_HistoryStep();
21304
+ init_SelectAssetRoute();
21298
21305
  }
21299
21306
  });
21300
21307
 
21301
21308
  // src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx
21302
21309
  import { useEffect as useEffect40 } from "react";
21303
- import { Fragment as Fragment40, jsx as jsx100, jsxs as jsxs91 } from "react/jsx-runtime";
21310
+ import { Fragment as Fragment39, jsx as jsx101, jsxs as jsxs91 } from "react/jsx-runtime";
21304
21311
  function HyperlaneBridge() {
21305
21312
  const bridgeStep = useBridgeStore((st) => st.bridgeStep);
21306
21313
  const { swapDirection, handleQuoteEstimation, bridgeAsset, isAssetBridging } = useBridge();
21307
21314
  const { hyperlaneWarpRoutes, isLoadingWarpRoutes } = useHyperlaneRoutes();
21308
- const { setCurrentPage, ...historyQuery } = useHyperlaneHistory();
21309
21315
  useMenuTitle(hyperlaneWarpRoutes);
21310
21316
  useEffect40(
21311
21317
  () => () => {
21312
21318
  useBridgeStore.getState().resetSelections();
21313
- setCurrentPage(1);
21314
21319
  },
21315
21320
  []
21316
21321
  );
21317
- return /* @__PURE__ */ jsxs91(Fragment40, { children: [
21318
- bridgeStep === "sender-selector" && /* @__PURE__ */ jsx100(SenderSelector, {}),
21319
- bridgeStep === "select" && /* @__PURE__ */ jsx100(
21322
+ return /* @__PURE__ */ jsxs91(Fragment39, { children: [
21323
+ bridgeStep === "sender-selector" && /* @__PURE__ */ jsx101(SenderSelector, {}),
21324
+ bridgeStep === "select" && /* @__PURE__ */ jsx101(
21320
21325
  SelectStep,
21321
21326
  {
21322
21327
  isLoadingWarpRoutes,
@@ -21325,8 +21330,8 @@ function HyperlaneBridge() {
21325
21330
  handleQuoteEstimation
21326
21331
  }
21327
21332
  ),
21328
- bridgeStep === "select-token" && /* @__PURE__ */ jsx100(TokenHyperlaneRouteSelector, { hyperlaneWarpRoutes }),
21329
- bridgeStep === "confirm" && /* @__PURE__ */ jsx100(
21333
+ bridgeStep === "select-token" && /* @__PURE__ */ jsx101(SelectAssetRoute, { hyperlaneWarpRoutes }),
21334
+ bridgeStep === "confirm" && /* @__PURE__ */ jsx101(
21330
21335
  ConfirmStep,
21331
21336
  {
21332
21337
  isAssetBridging,
@@ -21334,17 +21339,18 @@ function HyperlaneBridge() {
21334
21339
  bridgeAsset
21335
21340
  }
21336
21341
  ),
21337
- bridgeStep === "success" && /* @__PURE__ */ jsx100(SuccessStep, {}),
21338
- bridgeStep === "tx-history" && /* @__PURE__ */ jsx100(HistoryStep, { historyQuery }),
21339
- bridgeStep === "tx-history-details" && /* @__PURE__ */ jsx100(HistoryDetailsStep, {})
21342
+ bridgeStep === "success" && /* @__PURE__ */ jsx101(SuccessStep, {}),
21343
+ bridgeStep === "tx-history" && /* @__PURE__ */ jsx101(
21344
+ HistoryStep,
21345
+ {}
21346
+ ),
21347
+ bridgeStep === "tx-history-details" && /* @__PURE__ */ jsx101(HistoryDetailsStep, {})
21340
21348
  ] });
21341
21349
  }
21342
21350
  var init_HyperlaneBridge = __esm({
21343
21351
  "src/internal/components/SendMenu/hyperbridge/HyperlaneBridge.tsx"() {
21344
21352
  init_SenderSelector();
21345
- init_TokenHyperlaneRouteSelector();
21346
21353
  init_useBridge();
21347
- init_useHyperlaneHistory();
21348
21354
  init_useHyperlaneRoutes();
21349
21355
  init_useMenuTitle();
21350
21356
  init_steps();
@@ -21354,7 +21360,7 @@ var init_HyperlaneBridge = __esm({
21354
21360
 
21355
21361
  // src/internal/components/SendMenu/hyperbridge/components/HistorySwitch.tsx
21356
21362
  import { useRef as useRef19 } from "react";
21357
- import { jsx as jsx101 } from "react/jsx-runtime";
21363
+ import { jsx as jsx102 } from "react/jsx-runtime";
21358
21364
  function BridgeHistorySwitch(props) {
21359
21365
  const { disabled } = props;
21360
21366
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
@@ -21364,7 +21370,7 @@ function BridgeHistorySwitch(props) {
21364
21370
  if (selectorFlow !== "bridge" || bridgeStep === "confirm" || bridgeStep === "success" || bridgeStep === "sender-selector" || bridgeStep === "select-token" || bridgeStep === "tx-history-details") {
21365
21371
  return null;
21366
21372
  }
21367
- return /* @__PURE__ */ jsx101(
21373
+ return /* @__PURE__ */ jsx102(
21368
21374
  Switch,
21369
21375
  {
21370
21376
  labels: { checked: "BRIDGE", unchecked: "HISTORY" },
@@ -21461,7 +21467,7 @@ var init_useErc3643Compliance = __esm({
21461
21467
 
21462
21468
  // src/hooks/useNicknameResolve.ts
21463
21469
  import { useQuery as useQuery23 } from "@tanstack/react-query";
21464
- import { useState as useState28, useEffect as useEffect41, useMemo as useMemo7 } from "react";
21470
+ import { useState as useState29, useEffect as useEffect41, useMemo as useMemo9 } from "react";
21465
21471
  function looksLikeNickname(input) {
21466
21472
  if (!input) return false;
21467
21473
  if (input.startsWith("0x")) return false;
@@ -21471,8 +21477,8 @@ function looksLikeNickname(input) {
21471
21477
  }
21472
21478
  function useNicknameResolve(input, options) {
21473
21479
  const { enabled = true, chainId } = options;
21474
- const [debouncedInput, setDebouncedInput] = useState28("");
21475
- const [isDebouncing, setIsDebouncing] = useState28(false);
21480
+ const [debouncedInput, setDebouncedInput] = useState29("");
21481
+ const [isDebouncing, setIsDebouncing] = useState29(false);
21476
21482
  const normalized = normalizeNickname(input);
21477
21483
  const isNicknameInput = looksLikeNickname(input) && normalized.length >= 3;
21478
21484
  useEffect41(() => {
@@ -21501,7 +21507,7 @@ function useNicknameResolve(input, options) {
21501
21507
  const isNotFound = query.isError && query.error?.code === "NICKNAME_NOT_FOUND";
21502
21508
  const isWalletNotSetup = !!query.data && query.data.resolvedTarget === null;
21503
21509
  const isFrozen = query.data?.isFrozen ?? false;
21504
- const fingerprintVerification = useMemo7(() => {
21510
+ const fingerprintVerification = useMemo9(() => {
21505
21511
  if (!query.data?.owner || !query.data?.fingerprint) {
21506
21512
  return null;
21507
21513
  }
@@ -21535,14 +21541,14 @@ var init_useNicknameResolve = __esm({
21535
21541
  });
21536
21542
 
21537
21543
  // src/hooks/useSendTransaction.ts
21538
- import { useCallback as useCallback24, useState as useState29 } from "react";
21544
+ import { useCallback as useCallback24, useState as useState30 } from "react";
21539
21545
  import { encodeFunctionData as encodeFunctionData2, isAddress, parseEther as parseEther2, parseUnits } from "viem";
21540
21546
  function useSendTransaction() {
21541
21547
  const session = useSession((st) => st.session);
21542
21548
  const address = useSession((st) => st.address);
21543
- const [isLoading, setIsLoading] = useState29(false);
21544
- const [error, setError] = useState29(null);
21545
- const [userOpHash, setUserOpHash] = useState29(null);
21549
+ const [isLoading, setIsLoading] = useState30(false);
21550
+ const [error, setError] = useState30(null);
21551
+ const [userOpHash, setUserOpHash] = useState30(null);
21546
21552
  const sendTransaction = useCallback24(
21547
21553
  async (params) => {
21548
21554
  if (!session || !address) {
@@ -21731,15 +21737,15 @@ var init_fallbackAssetImage = __esm({
21731
21737
 
21732
21738
  // src/internal/components/SendMenu/send/components/AssetInputIcon.tsx
21733
21739
  import { Coins, Image as ImageIcon2, ShieldCheck, Sparkles as Sparkles2 } from "lucide-react";
21734
- import { jsx as jsx102, jsxs as jsxs92 } from "react/jsx-runtime";
21740
+ import { jsx as jsx103, jsxs as jsxs92 } from "react/jsx-runtime";
21735
21741
  function AssetInputIcon({ asset, size = "small" }) {
21736
21742
  const iconSizeClass = size === "small" ? "w-6 h-6" : "w-12 h-12";
21737
21743
  const subiconSizeClass = size === "small" ? "w-4 h-4" : "w-5 h-5";
21738
- if (!asset) return /* @__PURE__ */ jsx102(Coins, { className: iconSizeClass, strokeWidth: 1 });
21744
+ if (!asset) return /* @__PURE__ */ jsx103(Coins, { className: iconSizeClass, strokeWidth: 1 });
21739
21745
  const isNft = isNftAsset3(asset);
21740
21746
  if (isNft) {
21741
21747
  return asset.image || asset.nftMetadata?.image ? /* @__PURE__ */ jsxs92("div", { className: cn(iconSizeClass, "flex-none relative"), children: [
21742
- /* @__PURE__ */ jsx102(
21748
+ /* @__PURE__ */ jsx103(
21743
21749
  "img",
21744
21750
  {
21745
21751
  src: asset.image || asset.nftMetadata?.image,
@@ -21752,15 +21758,15 @@ function AssetInputIcon({ asset, size = "small" }) {
21752
21758
  }
21753
21759
  }
21754
21760
  ),
21755
- /* @__PURE__ */ jsx102(Sparkles2, { className: cn(subiconSizeClass, "absolute -top-1 -right-1") })
21761
+ /* @__PURE__ */ jsx103(Sparkles2, { className: cn(subiconSizeClass, "absolute -top-1 -right-1") })
21756
21762
  ] }) : /* @__PURE__ */ jsxs92("div", { className: cn(iconSizeClass, "relative flex-none"), children: [
21757
- /* @__PURE__ */ jsx102(ImageIcon2, { className: cn(iconSizeClass, "flex-none") }),
21758
- /* @__PURE__ */ jsx102(Sparkles2, { className: cn(subiconSizeClass, "absolute -top-1 -right-1 text-[var(--ui-kit-bg-success)]") })
21763
+ /* @__PURE__ */ jsx103(ImageIcon2, { className: cn(iconSizeClass, "flex-none") }),
21764
+ /* @__PURE__ */ jsx103(Sparkles2, { className: cn(subiconSizeClass, "absolute -top-1 -right-1 text-[var(--ui-kit-bg-success)]") })
21759
21765
  ] });
21760
21766
  }
21761
21767
  const isSecurity = isSecurityToken2(asset);
21762
21768
  const CommonAssetIcon = TOKENS_ICONS[asset.symbol] || null;
21763
- const targetAssetIcon = !!asset.logo ? /* @__PURE__ */ jsx102(
21769
+ const targetAssetIcon = !!asset.logo ? /* @__PURE__ */ jsx103(
21764
21770
  "img",
21765
21771
  {
21766
21772
  src: asset.logo,
@@ -21771,7 +21777,7 @@ function AssetInputIcon({ asset, size = "small" }) {
21771
21777
  e.currentTarget.src = fallbackAssetImage_default;
21772
21778
  }
21773
21779
  }
21774
- ) : /* @__PURE__ */ jsx102("span", { className: "text-[var(--ui-kit-fg-inverted)] font-bold text-xs", children: asset.symbol.charAt(0) });
21780
+ ) : /* @__PURE__ */ jsx103("span", { className: "text-[var(--ui-kit-fg-inverted)] font-bold text-xs", children: asset.symbol.charAt(0) });
21775
21781
  return /* @__PURE__ */ jsxs92(
21776
21782
  "div",
21777
21783
  {
@@ -21780,8 +21786,8 @@ function AssetInputIcon({ asset, size = "small" }) {
21780
21786
  "flex items-center justify-center bg-[var(--ui-kit-fg)] rounded-full": !asset.logo
21781
21787
  }),
21782
21788
  children: [
21783
- !!CommonAssetIcon ? /* @__PURE__ */ jsx102(CommonAssetIcon, { className: iconSizeClass }) : targetAssetIcon,
21784
- isSecurity && /* @__PURE__ */ jsx102(
21789
+ !!CommonAssetIcon ? /* @__PURE__ */ jsx103(CommonAssetIcon, { className: iconSizeClass }) : targetAssetIcon,
21790
+ isSecurity && /* @__PURE__ */ jsx103(
21785
21791
  ShieldCheck,
21786
21792
  {
21787
21793
  style: { fill: "var(--ui-kit-bg-warning)" },
@@ -21803,13 +21809,13 @@ var init_AssetInputIcon = __esm({
21803
21809
 
21804
21810
  // src/internal/components/SendMenu/send/components/NftDisplayCard.tsx
21805
21811
  import { Image as ImageIcon3, Sparkles as Sparkles3 } from "lucide-react";
21806
- import { useState as useState30 } from "react";
21807
- import { jsx as jsx103, jsxs as jsxs93 } from "react/jsx-runtime";
21812
+ import { useState as useState31 } from "react";
21813
+ import { jsx as jsx104, jsxs as jsxs93 } from "react/jsx-runtime";
21808
21814
  function NftDisplayCard({ asset }) {
21809
- const [imageError, setImageError] = useState30(false);
21815
+ const [imageError, setImageError] = useState31(false);
21810
21816
  const nftImage = asset.image || asset.nftMetadata?.image;
21811
21817
  return /* @__PURE__ */ jsxs93("div", { className: "flex items-center gap-3 p-3 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-bg-secondary)]", children: [
21812
- nftImage && !imageError ? /* @__PURE__ */ jsx103(
21818
+ nftImage && !imageError ? /* @__PURE__ */ jsx104(
21813
21819
  "img",
21814
21820
  {
21815
21821
  src: nftImage,
@@ -21817,9 +21823,9 @@ function NftDisplayCard({ asset }) {
21817
21823
  className: "w-16 h-16 rounded-[var(--ui-kit-el-bdrs)] object-cover",
21818
21824
  onError: () => setImageError(true)
21819
21825
  }
21820
- ) : /* @__PURE__ */ jsx103("div", { className: "w-16 h-16 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx103(ImageIcon3, { className: "w-8 h-8 text-[var(--ui-kit-fg-inverted)]" }) }),
21826
+ ) : /* @__PURE__ */ jsx104("div", { className: "w-16 h-16 rounded-[var(--ui-kit-el-bdrs)] bg-[var(--ui-kit-fg)] flex items-center justify-center", children: /* @__PURE__ */ jsx104(ImageIcon3, { className: "w-8 h-8 text-[var(--ui-kit-fg-inverted)]" }) }),
21821
21827
  /* @__PURE__ */ jsxs93("div", { className: "flex-1 min-w-0", children: [
21822
- /* @__PURE__ */ jsx103("div", { className: "font-semibold text-[var(--ui-kit-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
21828
+ /* @__PURE__ */ jsx104("div", { className: "font-semibold text-[var(--ui-kit-fg)] truncate", children: asset.nftMetadata?.name || asset.name }),
21823
21829
  /* @__PURE__ */ jsxs93("div", { className: "text-sm text-[var(--ui-kit-fg-muted)]", children: [
21824
21830
  asset.symbol,
21825
21831
  asset.tokenId && /* @__PURE__ */ jsxs93("span", { className: "ml-1", children: [
@@ -21828,8 +21834,8 @@ function NftDisplayCard({ asset }) {
21828
21834
  ] })
21829
21835
  ] }),
21830
21836
  /* @__PURE__ */ jsxs93("div", { className: "text-xs text-[var(--ui-kit-fg-muted)] mt-1 flex items-center gap-1", children: [
21831
- /* @__PURE__ */ jsx103(Sparkles3, { className: "w-3 h-3" }),
21832
- /* @__PURE__ */ jsx103("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
21837
+ /* @__PURE__ */ jsx104(Sparkles3, { className: "w-3 h-3" }),
21838
+ /* @__PURE__ */ jsx104("span", { children: asset.type === "erc721" ? "ERC-721" : "ERC-1155" })
21833
21839
  ] })
21834
21840
  ] })
21835
21841
  ] });
@@ -21880,7 +21886,7 @@ var init_useSendStore = __esm({
21880
21886
 
21881
21887
  // src/internal/components/SendMenu/send/components/AssetList.tsx
21882
21888
  import { formatUnits as formatUnits9 } from "viem";
21883
- import { Fragment as Fragment41, jsx as jsx104, jsxs as jsxs94 } from "react/jsx-runtime";
21889
+ import { Fragment as Fragment40, jsx as jsx105, jsxs as jsxs94 } from "react/jsx-runtime";
21884
21890
  function getAssetBalance3(asset) {
21885
21891
  if (isNftAsset3(asset)) return "1";
21886
21892
  const balance = Number(formatUnits9(BigInt(asset?.balance || "0"), asset?.decimals || 18));
@@ -21909,23 +21915,23 @@ function AssetListItem(props) {
21909
21915
  isSelected && "bg-[var(--ui-kit-secondary)]"
21910
21916
  ),
21911
21917
  children: [
21912
- /* @__PURE__ */ jsx104(AssetInputIcon, { asset, size: "large" }),
21918
+ /* @__PURE__ */ jsx105(AssetInputIcon, { asset, size: "large" }),
21913
21919
  /* @__PURE__ */ jsxs94("div", { className: "flex-1 flex flex-col items-start", children: [
21914
- /* @__PURE__ */ jsx104("div", { className: "text-[10px] truncate leading-4", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
21920
+ /* @__PURE__ */ jsx105("div", { className: "text-[10px] truncate leading-4", children: isNft ? asset.nftMetadata?.name || asset.name : asset.name }),
21915
21921
  !isNft && asset.address && /* @__PURE__ */ jsxs94("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] font-mono truncate leading-4", title: asset.address, children: [
21916
21922
  asset.symbol,
21917
21923
  " \xB7 ",
21918
21924
  truncateMiddle(asset.address, 6, 4)
21919
21925
  ] }),
21920
- /* @__PURE__ */ jsx104("span", { className: "block text-lg font-bold", children: isNft ? /* @__PURE__ */ jsxs94(Fragment41, { children: [
21926
+ /* @__PURE__ */ jsx105("span", { className: "block text-lg font-bold", children: isNft ? /* @__PURE__ */ jsxs94(Fragment40, { children: [
21921
21927
  asset.symbol,
21922
21928
  asset.tokenId && /* @__PURE__ */ jsxs94("span", { className: "ml-1", children: [
21923
21929
  "#",
21924
21930
  asset.tokenId.length > 6 ? `${asset.tokenId.slice(0, 4)}...` : asset.tokenId
21925
21931
  ] })
21926
- ] }) : /* @__PURE__ */ jsxs94(Fragment41, { children: [
21932
+ ] }) : /* @__PURE__ */ jsxs94(Fragment40, { children: [
21927
21933
  BALANCE_PREFIXES[asset.symbol] || null,
21928
- /* @__PURE__ */ jsx104("span", { children: getAssetBalance3(asset) }),
21934
+ /* @__PURE__ */ jsx105("span", { children: getAssetBalance3(asset) }),
21929
21935
  " ",
21930
21936
  !BALANCE_PREFIXES[asset.symbol] && /* @__PURE__ */ jsxs94("span", { children: [
21931
21937
  " ",
@@ -21948,24 +21954,24 @@ function AssetList(props) {
21948
21954
  const tokenAssets = transferableAssets.filter((a) => a.type === "erc20");
21949
21955
  const securityAssets = transferableAssets.filter((a) => a.type === "erc3643");
21950
21956
  const nftAssets = transferableAssets.filter((a) => a.type === "erc721" || a.type === "erc1155");
21951
- return /* @__PURE__ */ jsxs94(Fragment41, { children: [
21952
- nativeAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment41, { children: [
21953
- /* @__PURE__ */ jsx104("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Crypto" }),
21954
- nativeAssets.map((asset) => /* @__PURE__ */ jsx104(AssetListItem, { asset }, `native-${asset.symbol}`))
21957
+ return /* @__PURE__ */ jsxs94(Fragment40, { children: [
21958
+ nativeAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment40, { children: [
21959
+ /* @__PURE__ */ jsx105("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Crypto" }),
21960
+ nativeAssets.map((asset) => /* @__PURE__ */ jsx105(AssetListItem, { asset }, `native-${asset.symbol}`))
21955
21961
  ] }),
21956
- tokenAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment41, { children: [
21957
- /* @__PURE__ */ jsx104("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Tokens" }),
21958
- tokenAssets.map((asset) => /* @__PURE__ */ jsx104(AssetListItem, { asset }, `token-${asset.address}`))
21962
+ tokenAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment40, { children: [
21963
+ /* @__PURE__ */ jsx105("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Tokens" }),
21964
+ tokenAssets.map((asset) => /* @__PURE__ */ jsx105(AssetListItem, { asset }, `token-${asset.address}`))
21959
21965
  ] }),
21960
- securityAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment41, { children: [
21961
- /* @__PURE__ */ jsx104("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Security Tokens" }),
21962
- securityAssets.map((asset) => /* @__PURE__ */ jsx104(AssetListItem, { asset }, `security-${asset.address}`))
21966
+ securityAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment40, { children: [
21967
+ /* @__PURE__ */ jsx105("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "Security Tokens" }),
21968
+ securityAssets.map((asset) => /* @__PURE__ */ jsx105(AssetListItem, { asset }, `security-${asset.address}`))
21963
21969
  ] }),
21964
- nftAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment41, { children: [
21965
- /* @__PURE__ */ jsx104("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "NFTs" }),
21966
- nftAssets.map((asset) => /* @__PURE__ */ jsx104(AssetListItem, { asset }, `nft-${asset.address}-${asset.tokenId}`))
21970
+ nftAssets.length > 0 && /* @__PURE__ */ jsxs94(Fragment40, { children: [
21971
+ /* @__PURE__ */ jsx105("div", { className: "text-[10px] text-[var(--ui-kit-fg-muted)] uppercase", children: "NFTs" }),
21972
+ nftAssets.map((asset) => /* @__PURE__ */ jsx105(AssetListItem, { asset }, `nft-${asset.address}-${asset.tokenId}`))
21967
21973
  ] }),
21968
- transferableAssets.length === 0 && /* @__PURE__ */ jsx104("div", { className: "p-4 text-center text-[10px] text-[var(--ui-kit-fg-muted)]", children: "No assets available" })
21974
+ transferableAssets.length === 0 && /* @__PURE__ */ jsx105("div", { className: "p-4 text-center text-[10px] text-[var(--ui-kit-fg-muted)]", children: "No assets available" })
21969
21975
  ] });
21970
21976
  }
21971
21977
  var init_AssetList = __esm({
@@ -21982,7 +21988,7 @@ var init_AssetList = __esm({
21982
21988
 
21983
21989
  // src/internal/components/SendMenu/send/components/NicknameData.tsx
21984
21990
  import { AlertCircle as AlertCircle5, AlertTriangle as AlertTriangle6, AtSign as AtSign2, CheckCircle2 as CheckCircle24, ShieldAlert as ShieldAlert2, ShieldCheck as ShieldCheck2 } from "lucide-react";
21985
- import { jsx as jsx105, jsxs as jsxs95 } from "react/jsx-runtime";
21991
+ import { jsx as jsx106, jsxs as jsxs95 } from "react/jsx-runtime";
21986
21992
  function NicknameData(props) {
21987
21993
  const { resolvedNicknameData, isNicknameInput } = props;
21988
21994
  const {
@@ -21997,7 +22003,7 @@ function NicknameData(props) {
21997
22003
  if (!isNicknameInput) return null;
21998
22004
  if (resolvedAddress && !isResolving && nicknameData)
21999
22005
  return /* @__PURE__ */ jsxs95("div", { className: "flex items-center gap-[var(--ui-kit-gap)] rounded-[var(--ui-kit-el-bdrs)] px-[var(--ui-kit-gap)]", children: [
22000
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx105(
22006
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx106(
22001
22007
  "img",
22002
22008
  {
22003
22009
  src: nicknameData.avatarSvg,
@@ -22008,11 +22014,11 @@ function NicknameData(props) {
22008
22014
  e.currentTarget.src = fallbackAssetImage_default;
22009
22015
  }
22010
22016
  }
22011
- ) : /* @__PURE__ */ jsx105("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx105(AtSign2, { className: "w-5 h-5" }) }),
22017
+ ) : /* @__PURE__ */ jsx106("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx106(AtSign2, { className: "w-5 h-5" }) }),
22012
22018
  /* @__PURE__ */ jsxs95("div", { className: "flex flex-col gap-1", children: [
22013
22019
  /* @__PURE__ */ jsxs95("div", { className: "flex items-center gap-[var(--ui-kit-gap)] text-[10px] text-[var(--ui-kit-bg-success)]", children: [
22014
- /* @__PURE__ */ jsx105(CheckCircle24, { className: "w-4 h-4 flex-shrink-0" }),
22015
- /* @__PURE__ */ jsx105("span", { children: nicknameData.handle })
22020
+ /* @__PURE__ */ jsx106(CheckCircle24, { className: "w-4 h-4 flex-shrink-0" }),
22021
+ /* @__PURE__ */ jsx106("span", { children: nicknameData.handle })
22016
22022
  ] }),
22017
22023
  nicknameData.fingerprint && /* @__PURE__ */ jsxs95(
22018
22024
  "div",
@@ -22022,9 +22028,9 @@ function NicknameData(props) {
22022
22028
  isFingerprintVerified ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-error)]"
22023
22029
  ),
22024
22030
  children: [
22025
- isFingerprintVerified ? /* @__PURE__ */ jsx105(ShieldCheck2, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx105(ShieldAlert2, { className: "w-4 h-4 flex-shrink-0" }),
22026
- /* @__PURE__ */ jsx105("span", { children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` }),
22027
- /* @__PURE__ */ jsx105("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
22031
+ isFingerprintVerified ? /* @__PURE__ */ jsx106(ShieldCheck2, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx106(ShieldAlert2, { className: "w-4 h-4 flex-shrink-0" }),
22032
+ /* @__PURE__ */ jsx106("span", { children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` }),
22033
+ /* @__PURE__ */ jsx106("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
22028
22034
  ]
22029
22035
  }
22030
22036
  )
@@ -22032,20 +22038,20 @@ function NicknameData(props) {
22032
22038
  ] });
22033
22039
  if (isFrozen && !isResolving) {
22034
22040
  return /* @__PURE__ */ jsxs95(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
22035
- /* @__PURE__ */ jsx105(AlertTriangle6, { className: "w-4 h-4" }),
22036
- /* @__PURE__ */ jsx105("span", { children: "This handle is frozen. Proceed with caution." })
22041
+ /* @__PURE__ */ jsx106(AlertTriangle6, { className: "w-4 h-4" }),
22042
+ /* @__PURE__ */ jsx106("span", { children: "This handle is frozen. Proceed with caution." })
22037
22043
  ] });
22038
22044
  }
22039
22045
  if (isWalletNotSetup && !isResolving) {
22040
22046
  return /* @__PURE__ */ jsxs95(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
22041
- /* @__PURE__ */ jsx105(AlertCircle5, { className: "w-4 h-4" }),
22042
- /* @__PURE__ */ jsx105("span", { children: "This user has not set up wallet yet" })
22047
+ /* @__PURE__ */ jsx106(AlertCircle5, { className: "w-4 h-4" }),
22048
+ /* @__PURE__ */ jsx106("span", { children: "This user has not set up wallet yet" })
22043
22049
  ] });
22044
22050
  }
22045
22051
  if (isNotFound && !isResolving) {
22046
22052
  return /* @__PURE__ */ jsxs95(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
22047
- /* @__PURE__ */ jsx105(AlertCircle5, { className: "w-4 h-4" }),
22048
- /* @__PURE__ */ jsx105("span", { children: "Nickname not found" })
22053
+ /* @__PURE__ */ jsx106(AlertCircle5, { className: "w-4 h-4" }),
22054
+ /* @__PURE__ */ jsx106("span", { children: "Nickname not found" })
22049
22055
  ] });
22050
22056
  }
22051
22057
  }
@@ -22070,7 +22076,7 @@ var init_components3 = __esm({
22070
22076
  // src/internal/components/SendMenu/send/sendSteps/InputSendStep.tsx
22071
22077
  import { AlertCircle as AlertCircle6, AtSign as AtSign3, CheckCircle2 as CheckCircle25, Loader as Loader31, Wallet2 as Wallet24 } from "lucide-react";
22072
22078
  import { formatUnits as formatUnits10, isAddress as isAddress2 } from "viem";
22073
- import { Fragment as Fragment42, jsx as jsx106, jsxs as jsxs96 } from "react/jsx-runtime";
22079
+ import { Fragment as Fragment41, jsx as jsx107, jsxs as jsxs96 } from "react/jsx-runtime";
22074
22080
  function InputSendStep(props) {
22075
22081
  const {
22076
22082
  erc3643Compliance,
@@ -22176,27 +22182,27 @@ function InputSendStep(props) {
22176
22182
  setError(null);
22177
22183
  return true;
22178
22184
  };
22179
- return /* @__PURE__ */ jsxs96(Fragment42, { children: [
22180
- /* @__PURE__ */ jsx106("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.selectAsset") }),
22185
+ return /* @__PURE__ */ jsxs96(Fragment41, { children: [
22186
+ /* @__PURE__ */ jsx107("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.selectAsset") }),
22181
22187
  /* @__PURE__ */ jsxs96(
22182
22188
  Button,
22183
22189
  {
22184
22190
  disabled: isAssetsLoading,
22185
- variant: "outline",
22191
+ variant: "default",
22186
22192
  size: "large",
22187
22193
  onClick: () => setTxStep("select-asset"),
22188
22194
  className: "justify-between",
22189
22195
  children: [
22190
22196
  selectedAsset ? /* @__PURE__ */ jsxs96("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22191
- /* @__PURE__ */ jsx106(AssetInputIcon, { asset: selectedAsset }),
22192
- /* @__PURE__ */ jsx106("span", { children: (isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.name).toUpperCase() })
22193
- ] }) : /* @__PURE__ */ jsx106("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "No Asset Selected" }),
22194
- isAssetsLoading && /* @__PURE__ */ jsx106(Loader31, { className: "w-4 h-4 animate-spin" })
22197
+ /* @__PURE__ */ jsx107(AssetInputIcon, { asset: selectedAsset }),
22198
+ /* @__PURE__ */ jsx107("span", { children: (isNft ? selectedAsset.nftMetadata?.name || selectedAsset.symbol : selectedAsset.name).toUpperCase() })
22199
+ ] }) : /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "No Asset Selected" }),
22200
+ isAssetsLoading && /* @__PURE__ */ jsx107(Loader31, { className: "w-4 h-4 animate-spin" })
22195
22201
  ]
22196
22202
  }
22197
22203
  ),
22198
- /* @__PURE__ */ jsx106("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.recipient") }),
22199
- /* @__PURE__ */ jsx106(
22204
+ /* @__PURE__ */ jsx107("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.recipient") }),
22205
+ /* @__PURE__ */ jsx107(
22200
22206
  Input,
22201
22207
  {
22202
22208
  Icon: isNicknameInput ? AtSign3 : Wallet24,
@@ -22205,12 +22211,12 @@ function InputSendStep(props) {
22205
22211
  disabled: isAssetsLoading,
22206
22212
  onChange: (e) => setRecipient(e.target.value),
22207
22213
  placeholder: "0x... or @nickname",
22208
- element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx106(Loader31, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }) : null
22214
+ element: isNicknameInput && isResolving ? /* @__PURE__ */ jsx107(Loader31, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }) : null
22209
22215
  }
22210
22216
  ),
22211
- /* @__PURE__ */ jsx106(NicknameData, { resolvedNicknameData, isNicknameInput }),
22217
+ /* @__PURE__ */ jsx107(NicknameData, { resolvedNicknameData, isNicknameInput }),
22212
22218
  /* @__PURE__ */ jsxs96("div", { className: "flex justify-between items-center text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
22213
- /* @__PURE__ */ jsx106("span", { className: "block ", children: isNft ? t("passport:common.asset") : t("passport:common.amount") }),
22219
+ /* @__PURE__ */ jsx107("span", { className: "block ", children: isNft ? t("passport:common.asset") : t("passport:common.amount") }),
22214
22220
  !isNft && selectedAsset && /* @__PURE__ */ jsxs96("span", { className: "block text-[10px]", children: [
22215
22221
  t("passport:common.balance"),
22216
22222
  " ",
@@ -22221,8 +22227,8 @@ function InputSendStep(props) {
22221
22227
  ] })
22222
22228
  ] })
22223
22229
  ] }),
22224
- isNft && selectedAsset && /* @__PURE__ */ jsx106(NftDisplayCard, { asset: selectedAsset }),
22225
- !isNft && /* @__PURE__ */ jsx106(
22230
+ isNft && selectedAsset && /* @__PURE__ */ jsx107(NftDisplayCard, { asset: selectedAsset }),
22231
+ !isNft && /* @__PURE__ */ jsx107(
22226
22232
  Input,
22227
22233
  {
22228
22234
  type: "number",
@@ -22230,29 +22236,29 @@ function InputSendStep(props) {
22230
22236
  onChange: (e) => setAmount(e.target.value),
22231
22237
  placeholder: "0.0",
22232
22238
  step: "0.000001",
22233
- Icon: () => /* @__PURE__ */ jsx106(AssetInputIcon, { asset: selectedAsset }),
22239
+ Icon: () => /* @__PURE__ */ jsx107(AssetInputIcon, { asset: selectedAsset }),
22234
22240
  className: "pb-[var(--ui-kit-pd)]",
22235
- element: /* @__PURE__ */ jsx106(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", className: "px-2", children: "MAX" })
22241
+ element: /* @__PURE__ */ jsx107(Button, { onClick: handleMaxAmount, variant: "ghost", size: "medium", className: "px-2", children: "MAX" })
22236
22242
  }
22237
22243
  ),
22238
- isSecurity && effectiveAddress && amount && /* @__PURE__ */ jsx106(
22244
+ isSecurity && effectiveAddress && amount && /* @__PURE__ */ jsx107(
22239
22245
  Highlight,
22240
22246
  {
22241
22247
  type: isComplianceLoading ? "info" : erc3643CanTransfer ? "success" : "error",
22242
22248
  className: "flex gap-[var(--ui-kit-gap)]",
22243
- children: isComplianceLoading ? /* @__PURE__ */ jsxs96(Fragment42, { children: [
22244
- /* @__PURE__ */ jsx106(Loader31, { className: "h-4 w-4 animate-spin" }),
22245
- /* @__PURE__ */ jsx106("span", { children: "Checking compliance..." })
22246
- ] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs96(Fragment42, { children: [
22247
- /* @__PURE__ */ jsx106(CheckCircle25, { className: "h-4 w-4" }),
22248
- /* @__PURE__ */ jsx106("span", { children: "Transfer compliant" })
22249
- ] }) : /* @__PURE__ */ jsxs96(Fragment42, { children: [
22250
- /* @__PURE__ */ jsx106(AlertCircle6, { className: "h-4 w-4" }),
22251
- /* @__PURE__ */ jsx106("span", { children: complianceError || "Transfer not allowed" })
22249
+ children: isComplianceLoading ? /* @__PURE__ */ jsxs96(Fragment41, { children: [
22250
+ /* @__PURE__ */ jsx107(Loader31, { className: "h-4 w-4 animate-spin" }),
22251
+ /* @__PURE__ */ jsx107("span", { children: "Checking compliance..." })
22252
+ ] }) : erc3643CanTransfer ? /* @__PURE__ */ jsxs96(Fragment41, { children: [
22253
+ /* @__PURE__ */ jsx107(CheckCircle25, { className: "h-4 w-4" }),
22254
+ /* @__PURE__ */ jsx107("span", { children: "Transfer compliant" })
22255
+ ] }) : /* @__PURE__ */ jsxs96(Fragment41, { children: [
22256
+ /* @__PURE__ */ jsx107(AlertCircle6, { className: "h-4 w-4" }),
22257
+ /* @__PURE__ */ jsx107("span", { children: complianceError || "Transfer not allowed" })
22252
22258
  ] })
22253
22259
  }
22254
22260
  ),
22255
- /* @__PURE__ */ jsx106(
22261
+ /* @__PURE__ */ jsx107(
22256
22262
  Button,
22257
22263
  {
22258
22264
  size: "large",
@@ -22284,7 +22290,7 @@ var init_InputSendStep = __esm({
22284
22290
 
22285
22291
  // src/internal/components/SendMenu/send/sendSteps/ConfirmSendStep.tsx
22286
22292
  import { AlertTriangle as AlertTriangle7, AtSign as AtSign4, Loader as Loader32, Shield as Shield2, ShieldAlert as ShieldAlert3, ShieldCheck as ShieldCheck3 } from "lucide-react";
22287
- import { Fragment as Fragment43, jsx as jsx107, jsxs as jsxs97 } from "react/jsx-runtime";
22293
+ import { Fragment as Fragment42, jsx as jsx108, jsxs as jsxs97 } from "react/jsx-runtime";
22288
22294
  function ConfirmSendStep(props) {
22289
22295
  const {
22290
22296
  sendTransaction,
@@ -22321,14 +22327,14 @@ function ConfirmSendStep(props) {
22321
22327
  setTxStep("input");
22322
22328
  }
22323
22329
  };
22324
- return /* @__PURE__ */ jsxs97(Fragment43, { children: [
22330
+ return /* @__PURE__ */ jsxs97(Fragment42, { children: [
22325
22331
  isNicknameInput && isFrozen && /* @__PURE__ */ jsxs97(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
22326
- /* @__PURE__ */ jsx107(AlertTriangle7, { className: "h-4 w-4" }),
22327
- /* @__PURE__ */ jsx107("span", { children: "This handle is frozen. Proceed with caution." })
22332
+ /* @__PURE__ */ jsx108(AlertTriangle7, { className: "h-4 w-4" }),
22333
+ /* @__PURE__ */ jsx108("span", { children: "This handle is frozen. Proceed with caution." })
22328
22334
  ] }),
22329
22335
  isSecurity && erc3643CanTransfer && /* @__PURE__ */ jsxs97(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
22330
- /* @__PURE__ */ jsx107(Shield2, { className: "h-4 w-4 flex-shrink-0" }),
22331
- /* @__PURE__ */ jsx107("span", { children: "Security token compliance verified" })
22336
+ /* @__PURE__ */ jsx108(Shield2, { className: "h-4 w-4 flex-shrink-0" }),
22337
+ /* @__PURE__ */ jsx108("span", { children: "Security token compliance verified" })
22332
22338
  ] }),
22333
22339
  !isNft && /* @__PURE__ */ jsxs97("div", { className: "flex justify-between leading-5", children: [
22334
22340
  /* @__PURE__ */ jsxs97("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
@@ -22341,18 +22347,18 @@ function ConfirmSendStep(props) {
22341
22347
  selectedAsset.symbol
22342
22348
  ] })
22343
22349
  ] }),
22344
- /* @__PURE__ */ jsx107(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)]", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs97(Fragment43, { children: [
22350
+ /* @__PURE__ */ jsx108(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)]", children: isNicknameInput && nicknameData ? /* @__PURE__ */ jsxs97(Fragment42, { children: [
22345
22351
  /* @__PURE__ */ jsxs97("div", { className: "flex items-start gap-[var(--ui-kit-gap)]", children: [
22346
- nicknameData.avatarSvg ? /* @__PURE__ */ jsx107(
22352
+ nicknameData.avatarSvg ? /* @__PURE__ */ jsx108(
22347
22353
  "img",
22348
22354
  {
22349
22355
  src: nicknameData.avatarSvg,
22350
22356
  alt: nicknameData.handle,
22351
22357
  className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
22352
22358
  }
22353
- ) : /* @__PURE__ */ jsx107("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx107(AtSign4, { className: "w-6 h-6" }) }),
22359
+ ) : /* @__PURE__ */ jsx108("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ jsx108(AtSign4, { className: "w-6 h-6" }) }),
22354
22360
  /* @__PURE__ */ jsxs97("div", { className: "flex flex-1 flex-col gap-1", children: [
22355
- /* @__PURE__ */ jsx107("span", { className: "font-medium text-[14px] leading-4 truncate", children: nicknameData.handle }),
22361
+ /* @__PURE__ */ jsx108("span", { className: "font-medium text-[14px] leading-4 truncate", children: nicknameData.handle }),
22356
22362
  nicknameData.fingerprint && /* @__PURE__ */ jsxs97(
22357
22363
  "span",
22358
22364
  {
@@ -22361,23 +22367,23 @@ function ConfirmSendStep(props) {
22361
22367
  isFingerprintVerified ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-error)]"
22362
22368
  ),
22363
22369
  children: [
22364
- isFingerprintVerified ? /* @__PURE__ */ jsx107(ShieldCheck3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx107(ShieldAlert3, { className: "w-4 h-4 flex-shrink-0" }),
22370
+ isFingerprintVerified ? /* @__PURE__ */ jsx108(ShieldCheck3, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ jsx108(ShieldAlert3, { className: "w-4 h-4 flex-shrink-0" }),
22365
22371
  /* @__PURE__ */ jsxs97("span", { children: [
22366
22372
  "Fingerprint: ",
22367
22373
  nicknameData.fingerprint
22368
22374
  ] }),
22369
- /* @__PURE__ */ jsx107("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
22375
+ /* @__PURE__ */ jsx108("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
22370
22376
  ]
22371
22377
  }
22372
22378
  ),
22373
- /* @__PURE__ */ jsx107("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
22379
+ /* @__PURE__ */ jsx108("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
22374
22380
  ] })
22375
22381
  ] }),
22376
22382
  /* @__PURE__ */ jsxs97("div", { className: "border-t border-[var(--ui-kit-bd)] py-[var(--ui-kit-pd)] text-[10px]", children: [
22377
22383
  isNft ? /* @__PURE__ */ jsxs97("div", { className: "flex justify-between items-start", children: [
22378
- /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
22384
+ /* @__PURE__ */ jsx108("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
22379
22385
  /* @__PURE__ */ jsxs97("div", { className: "text-right", children: [
22380
- /* @__PURE__ */ jsx107("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
22386
+ /* @__PURE__ */ jsx108("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
22381
22387
  selectedAsset.tokenId && /* @__PURE__ */ jsxs97("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
22382
22388
  "#",
22383
22389
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
@@ -22386,7 +22392,7 @@ function ConfirmSendStep(props) {
22386
22392
  ] }) : (
22387
22393
  // Fungible token details
22388
22394
  /* @__PURE__ */ jsxs97("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
22389
- /* @__PURE__ */ jsx107("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: "Amount:" }),
22395
+ /* @__PURE__ */ jsx108("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: "Amount:" }),
22390
22396
  /* @__PURE__ */ jsxs97("span", { className: "text-sm font-bold", children: [
22391
22397
  amount,
22392
22398
  " ",
@@ -22395,23 +22401,23 @@ function ConfirmSendStep(props) {
22395
22401
  ] })
22396
22402
  ),
22397
22403
  /* @__PURE__ */ jsxs97("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
22398
- /* @__PURE__ */ jsx107("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: "Network:" }),
22399
- /* @__PURE__ */ jsx107("span", { className: "text-sm font-bold", children: chainConfig.name })
22404
+ /* @__PURE__ */ jsx108("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: "Network:" }),
22405
+ /* @__PURE__ */ jsx108("span", { className: "text-sm font-bold", children: chainConfig.name })
22400
22406
  ] })
22401
22407
  ] })
22402
- ] }) : /* @__PURE__ */ jsxs97(Fragment43, { children: [
22403
- /* @__PURE__ */ jsx107("h3", { className: "font-medium mb-3 text-[var(--ui-kit-fg)]", children: "Transaction Details" }),
22408
+ ] }) : /* @__PURE__ */ jsxs97(Fragment42, { children: [
22409
+ /* @__PURE__ */ jsx108("h3", { className: "font-medium mb-3 text-[var(--ui-kit-fg)]", children: "Transaction Details" }),
22404
22410
  /* @__PURE__ */ jsxs97("div", { className: "space-y-2 text-sm text-[var(--ui-kit-fg)]", children: [
22405
22411
  /* @__PURE__ */ jsxs97("div", { className: "flex justify-between", children: [
22406
- /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "To:" }),
22407
- /* @__PURE__ */ jsx107("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
22412
+ /* @__PURE__ */ jsx108("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "To:" }),
22413
+ /* @__PURE__ */ jsx108("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
22408
22414
  ] }),
22409
22415
  isNft ? (
22410
22416
  // NFT details
22411
- /* @__PURE__ */ jsx107(Fragment43, { children: /* @__PURE__ */ jsxs97("div", { className: "flex justify-between items-start", children: [
22412
- /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
22417
+ /* @__PURE__ */ jsx108(Fragment42, { children: /* @__PURE__ */ jsxs97("div", { className: "flex justify-between items-start", children: [
22418
+ /* @__PURE__ */ jsx108("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
22413
22419
  /* @__PURE__ */ jsxs97("div", { className: "text-right", children: [
22414
- /* @__PURE__ */ jsx107("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
22420
+ /* @__PURE__ */ jsx108("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
22415
22421
  selectedAsset.tokenId && /* @__PURE__ */ jsxs97("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: [
22416
22422
  "#",
22417
22423
  selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
@@ -22421,7 +22427,7 @@ function ConfirmSendStep(props) {
22421
22427
  ) : (
22422
22428
  // Fungible token details
22423
22429
  /* @__PURE__ */ jsxs97("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
22424
- /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "Amount:" }),
22430
+ /* @__PURE__ */ jsx108("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "Amount:" }),
22425
22431
  /* @__PURE__ */ jsxs97("span", { className: "font-semibold", children: [
22426
22432
  amount,
22427
22433
  " ",
@@ -22430,13 +22436,13 @@ function ConfirmSendStep(props) {
22430
22436
  ] })
22431
22437
  ),
22432
22438
  /* @__PURE__ */ jsxs97("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
22433
- /* @__PURE__ */ jsx107("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "Network:" }),
22434
- /* @__PURE__ */ jsx107("span", { children: chainConfig.name })
22439
+ /* @__PURE__ */ jsx108("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "Network:" }),
22440
+ /* @__PURE__ */ jsx108("span", { children: chainConfig.name })
22435
22441
  ] })
22436
22442
  ] })
22437
22443
  ] }) }),
22438
22444
  /* @__PURE__ */ jsxs97(Button, { onClick: handleConfirm, disabled: isTransactionPending, className: "w-full", size: "large", children: [
22439
- isTransactionPending && /* @__PURE__ */ jsx107(Loader32, { className: "h-4 w-4 animate-spin" }),
22445
+ isTransactionPending && /* @__PURE__ */ jsx108(Loader32, { className: "h-4 w-4 animate-spin" }),
22440
22446
  "CONFIRM"
22441
22447
  ] })
22442
22448
  ] });
@@ -22463,9 +22469,9 @@ var init_sendSteps = __esm({
22463
22469
 
22464
22470
  // src/internal/components/SendMenu/send/SendMenu.tsx
22465
22471
  import { CheckCircle2 as CheckCircle26, Loader as Loader33 } from "lucide-react";
22466
- import { useEffect as useEffect42, useMemo as useMemo8 } from "react";
22472
+ import { useEffect as useEffect42, useMemo as useMemo10 } from "react";
22467
22473
  import { parseUnits as parseUnits2 } from "viem";
22468
- import { Fragment as Fragment44, jsx as jsx108, jsxs as jsxs98 } from "react/jsx-runtime";
22474
+ import { Fragment as Fragment43, jsx as jsx109, jsxs as jsxs98 } from "react/jsx-runtime";
22469
22475
  function SendMenu() {
22470
22476
  const address = useSession((st) => st.address);
22471
22477
  const activeChainId = useSession((st) => st.activeChainId);
@@ -22524,7 +22530,7 @@ function SendMenu() {
22524
22530
  const isNicknameInput = looksLikeNickname(recipient);
22525
22531
  const resolvedNicknameData = useNicknameResolve(recipient, { enabled: isNicknameInput, chainId: activeChainId });
22526
22532
  const effectiveAddress = isNicknameInput ? resolvedNicknameData?.resolvedAddress : recipient;
22527
- const complianceAmount = useMemo8(() => {
22533
+ const complianceAmount = useMemo10(() => {
22528
22534
  if (!isSecurity || !amount || !selectedAsset) return void 0;
22529
22535
  try {
22530
22536
  return parseUnits2(amount, selectedAsset.decimals || 18);
@@ -22562,9 +22568,9 @@ function SendMenu() {
22562
22568
  break;
22563
22569
  }
22564
22570
  }, [txStep, selectedAsset, isNft, t]);
22565
- return /* @__PURE__ */ jsxs98(Fragment44, { children: [
22566
- txStep === "select-asset" && /* @__PURE__ */ jsx108(AssetList, { assets }),
22567
- txStep === "input" && /* @__PURE__ */ jsx108(
22571
+ return /* @__PURE__ */ jsxs98(Fragment43, { children: [
22572
+ txStep === "select-asset" && /* @__PURE__ */ jsx109(AssetList, { assets }),
22573
+ txStep === "input" && /* @__PURE__ */ jsx109(
22568
22574
  InputSendStep,
22569
22575
  {
22570
22576
  erc3643Compliance,
@@ -22573,7 +22579,7 @@ function SendMenu() {
22573
22579
  isAssetsLoading
22574
22580
  }
22575
22581
  ),
22576
- txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ jsx108(
22582
+ txStep === "confirm" && effectiveAddress && selectedAsset && /* @__PURE__ */ jsx109(
22577
22583
  ConfirmSendStep,
22578
22584
  {
22579
22585
  sendTransaction,
@@ -22585,21 +22591,21 @@ function SendMenu() {
22585
22591
  }
22586
22592
  ),
22587
22593
  txStep === "pending" && /* @__PURE__ */ jsxs98(Highlight, { type: "info", className: "flex gap-[var(--ui-kit-gap)]", children: [
22588
- /* @__PURE__ */ jsx108(Loader33, { className: "h-4 w-4 animate-spin" }),
22594
+ /* @__PURE__ */ jsx109(Loader33, { className: "h-4 w-4 animate-spin" }),
22589
22595
  /* @__PURE__ */ jsxs98("span", { className: "flex-1", children: [
22590
- /* @__PURE__ */ jsx108("span", { className: "block leading-4 font-semibold", children: t("passport:sendMenu.pendingStep") }),
22591
- /* @__PURE__ */ jsx108("span", { children: t("passport:sendMenu.pendingStepMsg") })
22596
+ /* @__PURE__ */ jsx109("span", { className: "block leading-4 font-semibold", children: t("passport:sendMenu.pendingStep") }),
22597
+ /* @__PURE__ */ jsx109("span", { children: t("passport:sendMenu.pendingStepMsg") })
22592
22598
  ] })
22593
22599
  ] }),
22594
- txStep === "success" && userOpHash && /* @__PURE__ */ jsxs98(Fragment44, { children: [
22600
+ txStep === "success" && userOpHash && /* @__PURE__ */ jsxs98(Fragment43, { children: [
22595
22601
  /* @__PURE__ */ jsxs98(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
22596
- /* @__PURE__ */ jsx108(CheckCircle26, { className: "h-4 w-4" }),
22602
+ /* @__PURE__ */ jsx109(CheckCircle26, { className: "h-4 w-4" }),
22597
22603
  /* @__PURE__ */ jsxs98("span", { className: "flex-1", children: [
22598
- /* @__PURE__ */ jsx108("span", { className: "block leading-4 font-semibold", children: "Transaction Initiated" }),
22599
- /* @__PURE__ */ jsx108("span", { children: "Your transaction is being processed and might take some time to accomplish. Visit your transaction history for details." })
22604
+ /* @__PURE__ */ jsx109("span", { className: "block leading-4 font-semibold", children: "Transaction Initiated" }),
22605
+ /* @__PURE__ */ jsx109("span", { children: "Your transaction is being processed and might take some time to accomplish. Visit your transaction history for details." })
22600
22606
  ] })
22601
22607
  ] }),
22602
- /* @__PURE__ */ jsx108(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "TRANSACTION HISTORY" })
22608
+ /* @__PURE__ */ jsx109(Button, { onClick: () => setPage("transactions" /* TRANSACTIONS */), className: "w-full", size: "large", children: "TRANSACTION HISTORY" })
22603
22609
  ] })
22604
22610
  ] });
22605
22611
  }
@@ -22633,7 +22639,7 @@ var init_send = __esm({
22633
22639
  // src/internal/components/SendMenu/SendFlowSelector.tsx
22634
22640
  import { ArrowLeft as ArrowLeft19, ArrowRightIcon as ArrowRightIcon2, ArrowRightLeftIcon as ArrowRightLeftIcon2, InfoIcon as InfoIcon4 } from "lucide-react";
22635
22641
  import { useEffect as useEffect43 } from "react";
22636
- import { jsx as jsx109, jsxs as jsxs99 } from "react/jsx-runtime";
22642
+ import { jsx as jsx110, jsxs as jsxs99 } from "react/jsx-runtime";
22637
22643
  function SelectorFlowButtons() {
22638
22644
  const { t } = useT();
22639
22645
  const selectorFlow = useFlowSelectorStore((st) => st.flow);
@@ -22654,14 +22660,14 @@ function SelectorFlowButtons() {
22654
22660
  Button,
22655
22661
  {
22656
22662
  size: "medium",
22657
- variant: selectorFlow === "send" ? "outline" : "ghost",
22663
+ variant: selectorFlow === "send" ? "default" : "ghost",
22658
22664
  className: "flex-1 uppercase",
22659
22665
  onClick: () => {
22660
22666
  useFlowSelectorStore.getState().setError(null);
22661
22667
  useFlowSelectorStore.getState().setFlow("send");
22662
22668
  },
22663
22669
  children: [
22664
- /* @__PURE__ */ jsx109(ArrowRightIcon2, { className: "h-4 w-4" }),
22670
+ /* @__PURE__ */ jsx110(ArrowRightIcon2, { className: "h-4 w-4" }),
22665
22671
  t("passport:sendMenu.actions.send")
22666
22672
  ]
22667
22673
  }
@@ -22670,14 +22676,14 @@ function SelectorFlowButtons() {
22670
22676
  Button,
22671
22677
  {
22672
22678
  size: "medium",
22673
- variant: selectorFlow === "bridge" ? "outline" : "ghost",
22679
+ variant: selectorFlow === "bridge" ? "default" : "ghost",
22674
22680
  className: "flex-1 uppercase",
22675
22681
  onClick: () => {
22676
22682
  useFlowSelectorStore.getState().setError(null);
22677
22683
  useFlowSelectorStore.getState().setFlow("bridge");
22678
22684
  },
22679
22685
  children: [
22680
- /* @__PURE__ */ jsx109(ArrowRightLeftIcon2, { className: "h-4 w-4" }),
22686
+ /* @__PURE__ */ jsx110(ArrowRightLeftIcon2, { className: "h-4 w-4" }),
22681
22687
  t("passport:bridgeMenu.actions.bridge")
22682
22688
  ]
22683
22689
  }
@@ -22701,7 +22707,7 @@ function SendFlowSelector() {
22701
22707
  },
22702
22708
  []
22703
22709
  );
22704
- return /* @__PURE__ */ jsx109(
22710
+ return /* @__PURE__ */ jsx110(
22705
22711
  "div",
22706
22712
  {
22707
22713
  style: {
@@ -22712,7 +22718,7 @@ function SendFlowSelector() {
22712
22718
  children: /* @__PURE__ */ jsxs99(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
22713
22719
  /* @__PURE__ */ jsxs99("div", { className: "flex items-center justify-between", children: [
22714
22720
  /* @__PURE__ */ jsxs99("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22715
- /* @__PURE__ */ jsx109(
22721
+ /* @__PURE__ */ jsx110(
22716
22722
  Button,
22717
22723
  {
22718
22724
  variant: "ghost",
@@ -22725,7 +22731,7 @@ function SendFlowSelector() {
22725
22731
  switch (bridgeStep) {
22726
22732
  case "select":
22727
22733
  return setPage("main-menu" /* MAIN_MENU */);
22728
- // return setSelectorFlow('send')
22734
+ // case ''
22729
22735
  case "tx-history-details":
22730
22736
  return setBridgeStep("tx-history");
22731
22737
  default:
@@ -22742,21 +22748,21 @@ function SendFlowSelector() {
22742
22748
  }
22743
22749
  }
22744
22750
  },
22745
- children: /* @__PURE__ */ jsx109(ArrowLeft19, { className: "h-4 w-4" })
22751
+ children: /* @__PURE__ */ jsx110(ArrowLeft19, { className: "h-4 w-4" })
22746
22752
  }
22747
22753
  ),
22748
- /* @__PURE__ */ jsx109("span", { className: "text-xl font-semibold", children: menuTitle })
22754
+ /* @__PURE__ */ jsx110("span", { className: "text-xl font-semibold", children: menuTitle })
22749
22755
  ] }),
22750
- /* @__PURE__ */ jsx109(BridgeHistorySwitch, {})
22756
+ /* @__PURE__ */ jsx110(BridgeHistorySwitch, {})
22751
22757
  ] }),
22752
- /* @__PURE__ */ jsx109(SelectorFlowButtons, {}),
22758
+ /* @__PURE__ */ jsx110(SelectorFlowButtons, {}),
22753
22759
  SELECTOR_FLOW[selectorFlow],
22754
22760
  error && /* @__PURE__ */ jsxs99(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
22755
22761
  /* @__PURE__ */ jsxs99("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
22756
- /* @__PURE__ */ jsx109(InfoIcon4, { className: "h-4 w-4 flex-none" }),
22757
- /* @__PURE__ */ jsx109("span", { children: error })
22762
+ /* @__PURE__ */ jsx110(InfoIcon4, { className: "h-4 w-4 flex-none" }),
22763
+ /* @__PURE__ */ jsx110("span", { children: error })
22758
22764
  ] }),
22759
- /* @__PURE__ */ jsx109(
22765
+ /* @__PURE__ */ jsx110(
22760
22766
  Button,
22761
22767
  {
22762
22768
  variant: "default",
@@ -22767,7 +22773,7 @@ function SendFlowSelector() {
22767
22773
  }
22768
22774
  )
22769
22775
  ] }),
22770
- /* @__PURE__ */ jsx109("div", {}, renderKey)
22776
+ /* @__PURE__ */ jsx110("div", {}, renderKey)
22771
22777
  ] })
22772
22778
  }
22773
22779
  );
@@ -22786,8 +22792,8 @@ var init_SendFlowSelector = __esm({
22786
22792
  init_send();
22787
22793
  init_useFlowSelector();
22788
22794
  SELECTOR_FLOW = {
22789
- send: /* @__PURE__ */ jsx109(SendMenu, {}),
22790
- bridge: /* @__PURE__ */ jsx109(HyperlaneBridge, {})
22795
+ send: /* @__PURE__ */ jsx110(SendMenu, {}),
22796
+ bridge: /* @__PURE__ */ jsx110(HyperlaneBridge, {})
22791
22797
  };
22792
22798
  }
22793
22799
  });
@@ -22841,10 +22847,10 @@ var init_pro_mode = __esm({
22841
22847
  });
22842
22848
 
22843
22849
  // src/internal/assets/KycIcon.tsx
22844
- import { jsx as jsx110 } from "react/jsx-runtime";
22850
+ import { jsx as jsx111 } from "react/jsx-runtime";
22845
22851
  function KycIcon(props) {
22846
22852
  const { width = "24", height = "24", ...rest } = props;
22847
- return /* @__PURE__ */ jsx110("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx110(
22853
+ return /* @__PURE__ */ jsx111("svg", { ...rest, width, height, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsx111(
22848
22854
  "path",
22849
22855
  {
22850
22856
  d: "M12 18.5455C10.1727 18.5455 8.625 17.9114 7.35682 16.6432C6.08864 15.375 5.45455 13.8273 5.45455 12C5.45455 10.1727 6.08864 8.625 7.35682 7.35682C8.625 6.08864 10.1727 5.45455 12 5.45455C13.8273 5.45455 15.375 6.08864 16.6432 7.35682C17.9114 8.625 18.5455 10.1727 18.5455 12C18.5455 13.8273 17.9114 15.375 16.6432 16.6432C15.375 17.9114 13.8273 18.5455 12 18.5455ZM12 16.9091C13.3636 16.9091 14.5227 16.4318 15.4773 15.4773C16.4318 14.5227 16.9091 13.3636 16.9091 12C16.9091 11.7682 16.892 11.5398 16.858 11.3148C16.8239 11.0898 16.7727 10.8682 16.7045 10.65C16.5 10.6909 16.2955 10.7216 16.0909 10.742C15.8864 10.7625 15.6818 10.7727 15.4773 10.7727C14.6182 10.7727 13.8 10.6091 13.0227 10.2818C12.2455 9.95455 11.55 9.47727 10.9364 8.85C10.5545 9.62727 10.0295 10.3023 9.36136 10.875C8.69318 11.4477 7.93636 11.8636 7.09091 12.1227C7.13182 13.4591 7.62614 14.5909 8.57386 15.5182C9.52159 16.4455 10.6636 16.9091 12 16.9091ZM7.41818 10.2409C8.01818 9.92727 8.475 9.5625 8.78864 9.14659C9.10227 8.73068 9.40909 8.23636 9.70909 7.66364C9.19091 7.93636 8.73409 8.29432 8.33864 8.7375C7.94318 9.18068 7.63636 9.68182 7.41818 10.2409ZM9.95455 13.6364C9.72273 13.6364 9.52841 13.558 9.37159 13.4011C9.21477 13.2443 9.13636 13.05 9.13636 12.8182C9.13636 12.5864 9.21477 12.392 9.37159 12.2352C9.52841 12.0784 9.72273 12 9.95455 12C10.1864 12 10.3807 12.0784 10.5375 12.2352C10.6943 12.392 10.7727 12.5864 10.7727 12.8182C10.7727 13.05 10.6943 13.2443 10.5375 13.4011C10.3807 13.558 10.1864 13.6364 9.95455 13.6364ZM15.4773 9.13636H15.7227C15.8045 9.13636 15.8864 9.12955 15.9682 9.11591C15.5182 8.50227 14.9489 8.01136 14.2602 7.64318C13.5716 7.275 12.8182 7.09091 12 7.09091H11.7545C11.6727 7.09091 11.5977 7.09773 11.5295 7.11136C12.0614 7.725 12.6239 8.21591 13.217 8.58409C13.8102 8.95227 14.5636 9.13636 15.4773 9.13636ZM14.0455 13.6364C13.8136 13.6364 13.6193 13.558 13.4625 13.4011C13.3057 13.2443 13.2273 13.05 13.2273 12.8182C13.2273 12.5864 13.3057 12.392 13.4625 12.2352C13.6193 12.0784 13.8136 12 14.0455 12C14.2773 12 14.4716 12.0784 14.6284 12.2352C14.7852 12.392 14.8636 12.5864 14.8636 12.8182C14.8636 13.05 14.7852 13.2443 14.6284 13.4011C14.4716 13.558 14.2773 13.6364 14.0455 13.6364ZM3 7.09091V4.63636C3 4.18636 3.16023 3.80114 3.48068 3.48068C3.80114 3.16023 4.18636 3 4.63636 3H7.09091V4.63636H4.63636V7.09091H3ZM7.09091 21H4.63636C4.18636 21 3.80114 20.8398 3.48068 20.5193C3.16023 20.1989 3 19.8136 3 19.3636V16.9091H4.63636V19.3636H7.09091V21ZM16.9091 21V19.3636H19.3636V16.9091H21V19.3636C21 19.8136 20.8398 20.1989 20.5193 20.5193C20.1989 20.8398 19.8136 21 19.3636 21H16.9091ZM19.3636 7.09091V4.63636H16.9091V3H19.3636C19.8136 3 20.1989 3.16023 20.5193 3.48068C20.8398 3.80114 21 4.18636 21 4.63636V7.09091H19.3636Z",
@@ -22879,7 +22885,7 @@ var init_constants7 = __esm({
22879
22885
  import { useQuery as useQuery24 } from "@tanstack/react-query";
22880
22886
  import { ArrowLeft as ArrowLeft20, HardDrive as HardDrive3 } from "lucide-react";
22881
22887
  import { useEffect as useEffect44 } from "react";
22882
- import { jsx as jsx111, jsxs as jsxs100 } from "react/jsx-runtime";
22888
+ import { jsx as jsx112, jsxs as jsxs100 } from "react/jsx-runtime";
22883
22889
  function useSettingsButtons() {
22884
22890
  const config = useProviderConfig().config;
22885
22891
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
@@ -22936,10 +22942,10 @@ function SettingsMenu() {
22936
22942
  className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]",
22937
22943
  children: [
22938
22944
  /* @__PURE__ */ jsxs100("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22939
- /* @__PURE__ */ jsx111(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx111(ArrowLeft20, { className: "h-4 w-4" }) }),
22940
- /* @__PURE__ */ jsx111("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
22945
+ /* @__PURE__ */ jsx112(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("main-menu" /* MAIN_MENU */), children: /* @__PURE__ */ jsx112(ArrowLeft20, { className: "h-4 w-4" }) }),
22946
+ /* @__PURE__ */ jsx112("span", { className: "text-xl font-semibold", children: t("passport:common.settings") })
22941
22947
  ] }),
22942
- /* @__PURE__ */ jsx111("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs100(
22948
+ /* @__PURE__ */ jsx112("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: settingsButtons.map((el) => ({ ...el, onClick: () => setPage(el.id) })).map(({ id, name, Icon: Icon2, onClick }) => /* @__PURE__ */ jsxs100(
22943
22949
  Button,
22944
22950
  {
22945
22951
  variant: "outline",
@@ -22951,8 +22957,8 @@ function SettingsMenu() {
22951
22957
  highlightedKeys.includes(id) && "animate-glow-warning"
22952
22958
  ),
22953
22959
  children: [
22954
- /* @__PURE__ */ jsx111(Icon2, { className: "w-4 h-4" }),
22955
- /* @__PURE__ */ jsx111("span", { children: t(name) })
22960
+ /* @__PURE__ */ jsx112(Icon2, { className: "w-4 h-4" }),
22961
+ /* @__PURE__ */ jsx112("span", { children: t(name) })
22956
22962
  ]
22957
22963
  },
22958
22964
  id
@@ -22987,27 +22993,27 @@ var init_SettingsMenu2 = __esm({
22987
22993
 
22988
22994
  // src/internal/components/TermsOfService.tsx
22989
22995
  import { ArrowLeft as ArrowLeft21 } from "lucide-react";
22990
- import { jsx as jsx112, jsxs as jsxs101 } from "react/jsx-runtime";
22996
+ import { jsx as jsx113, jsxs as jsxs101 } from "react/jsx-runtime";
22991
22997
  function TermsOfService() {
22992
22998
  const address = useSession((st) => st.address);
22993
22999
  const setPage = useLayoutDataStore((st) => st.setPage);
22994
23000
  return /* @__PURE__ */ jsxs101("div", { className: "w-full p-[var(--ui-kit-pd)] flex flex-col gap-[var(--ui-kit-gap)]", children: [
22995
23001
  /* @__PURE__ */ jsxs101("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
22996
- /* @__PURE__ */ jsx112(
23002
+ /* @__PURE__ */ jsx113(
22997
23003
  Button,
22998
23004
  {
22999
23005
  variant: "ghost",
23000
23006
  size: "icon",
23001
23007
  title: "Back",
23002
23008
  onClick: () => setPage(!!address ? "settings" /* SETTINGS */ : "auth" /* AUTH */),
23003
- children: /* @__PURE__ */ jsx112(ArrowLeft21, { className: "h-4 w-4" })
23009
+ children: /* @__PURE__ */ jsx113(ArrowLeft21, { className: "h-4 w-4" })
23004
23010
  }
23005
23011
  ),
23006
- /* @__PURE__ */ jsx112("span", { className: "text-xl font-semibold", children: "Terms of Service" })
23012
+ /* @__PURE__ */ jsx113("span", { className: "text-xl font-semibold", children: "Terms of Service" })
23007
23013
  ] }),
23008
23014
  /* @__PURE__ */ jsxs101(Highlight, { type: "warning", className: "text-center", children: [
23009
- /* @__PURE__ */ jsx112("span", { className: "block text-xs", children: "By using EmbarkAI Wallet you agree to our terms." }),
23010
- /* @__PURE__ */ jsx112("span", { className: "block text-xs", children: "To be updated..." })
23015
+ /* @__PURE__ */ jsx113("span", { className: "block text-xs", children: "By using EmbarkAI Wallet you agree to our terms." }),
23016
+ /* @__PURE__ */ jsx113("span", { className: "block text-xs", children: "To be updated..." })
23011
23017
  ] })
23012
23018
  ] });
23013
23019
  }
@@ -23645,7 +23651,7 @@ var init_api5 = __esm({
23645
23651
  });
23646
23652
 
23647
23653
  // src/internal/assets/LumiaIcon.tsx
23648
- import { jsx as jsx113, jsxs as jsxs102 } from "react/jsx-runtime";
23654
+ import { jsx as jsx114, jsxs as jsxs102 } from "react/jsx-runtime";
23649
23655
  function LumiaIcon3(props) {
23650
23656
  const { width = "24", height = "24", ...svgProps } = props;
23651
23657
  return /* @__PURE__ */ jsxs102(
@@ -23659,29 +23665,29 @@ function LumiaIcon3(props) {
23659
23665
  xmlns: "http://www.w3.org/2000/svg",
23660
23666
  style: { flexShrink: 0 },
23661
23667
  children: [
23662
- /* @__PURE__ */ jsx113("rect", { width: "72", height: "72", rx: "36", fill: "var(--ui-kit-fg)" }),
23663
- /* @__PURE__ */ jsx113(
23668
+ /* @__PURE__ */ jsx114("rect", { width: "72", height: "72", rx: "36", fill: "var(--ui-kit-fg)" }),
23669
+ /* @__PURE__ */ jsx114(
23664
23670
  "path",
23665
23671
  {
23666
23672
  d: "M25.3636 35.359H6.77698L26.3313 26.2792L35.3827 6.78174L35.404 25.3043C35.4112 30.8547 30.9139 35.3661 25.3565 35.3661L25.3636 35.359Z",
23667
23673
  fill: "var(--ui-kit-bg)"
23668
23674
  }
23669
23675
  ),
23670
- /* @__PURE__ */ jsx113(
23676
+ /* @__PURE__ */ jsx114(
23671
23677
  "path",
23672
23678
  {
23673
23679
  d: "M47.4365 35.359H66.0231L46.4687 26.2792L37.4174 6.78174L37.396 25.3043C37.3889 30.8547 41.8861 35.3661 47.4436 35.3661L47.4365 35.359Z",
23674
23680
  fill: "var(--ui-kit-bg)"
23675
23681
  }
23676
23682
  ),
23677
- /* @__PURE__ */ jsx113(
23683
+ /* @__PURE__ */ jsx114(
23678
23684
  "path",
23679
23685
  {
23680
23686
  d: "M47.4365 37.4226H66.0231L46.4687 46.5025L37.4174 65.9999L37.396 47.4773C37.3889 41.927 41.8861 37.4155 47.4436 37.4155L47.4365 37.4226Z",
23681
23687
  fill: "var(--ui-kit-bg)"
23682
23688
  }
23683
23689
  ),
23684
- /* @__PURE__ */ jsx113(
23690
+ /* @__PURE__ */ jsx114(
23685
23691
  "path",
23686
23692
  {
23687
23693
  d: "M25.3636 37.4226H6.77698L26.3313 46.5025L35.3827 65.9999L35.404 47.4773C35.4112 41.927 30.9139 37.4155 25.3565 37.4155L25.3636 37.4226Z",
@@ -23758,14 +23764,14 @@ var init_utils10 = __esm({
23758
23764
 
23759
23765
  // src/internal/components/TransactionsMenu/TransactionsGroup.tsx
23760
23766
  import { ChevronDown, ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight6, ChevronUp, Copy as Copy4 } from "lucide-react";
23761
- import { Fragment as Fragment45, jsx as jsx114, jsxs as jsxs103 } from "react/jsx-runtime";
23767
+ import { Fragment as Fragment44, jsx as jsx115, jsxs as jsxs103 } from "react/jsx-runtime";
23762
23768
  function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
23763
23769
  const internalSymbol = internal.assetSymbol || assetSymbol;
23764
23770
  const internalDecimals = internal.decimals ?? assetDecimals;
23765
23771
  const { t } = useT();
23766
23772
  return /* @__PURE__ */ jsxs103("div", { className: "border-t border-dashed border-[var(--ui-kit-bd)]", children: [
23767
23773
  /* @__PURE__ */ jsxs103("div", { className: "flex gap-2 items-center justify-between", children: [
23768
- /* @__PURE__ */ jsx114("span", { className: "text-[var(--ui-kit-fg-muted)]", children: internal.method || "CALL" }),
23774
+ /* @__PURE__ */ jsx115("span", { className: "text-[var(--ui-kit-fg-muted)]", children: internal.method || "CALL" }),
23769
23775
  /* @__PURE__ */ jsxs103("span", { children: [
23770
23776
  formatValue2(internal.value, internalDecimals),
23771
23777
  " ",
@@ -23777,7 +23783,7 @@ function InternalTransaction({ internal, assetSymbol, assetDecimals }) {
23777
23783
  internal.direction === "in" ? t("passport:common.from") : t("passport:common.to"),
23778
23784
  ": "
23779
23785
  ] }),
23780
- /* @__PURE__ */ jsx114("span", { className: "font-mono", children: internal.counterpartyName || formatAddress(internal.counterparty) })
23786
+ /* @__PURE__ */ jsx115("span", { className: "font-mono", children: internal.counterpartyName || formatAddress(internal.counterparty) })
23781
23787
  ] })
23782
23788
  ] });
23783
23789
  }
@@ -23801,11 +23807,11 @@ function TransactionsGroup(props) {
23801
23807
  children: [
23802
23808
  /* @__PURE__ */ jsxs103("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
23803
23809
  /* @__PURE__ */ jsxs103("div", { className: "flex items-center gap-1 flex-0 w-fit", children: [
23804
- parent.direction === "in" ? /* @__PURE__ */ jsx114(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx114(ChevronRight6, { className: "w-4 h-4" }),
23805
- /* @__PURE__ */ jsx114("span", { className: "text-[10px] uppercase", children: isIncoming ? t("passport:common.received") : t("passport:common.sent") }),
23806
- parent.status === "ok" ? /* @__PURE__ */ jsx114(PositiveIcon, {}) : /* @__PURE__ */ jsx114(NegativeIcon, {})
23810
+ parent.direction === "in" ? /* @__PURE__ */ jsx115(ChevronLeft2, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx115(ChevronRight6, { className: "w-4 h-4" }),
23811
+ /* @__PURE__ */ jsx115("span", { className: "text-[10px] uppercase", children: isIncoming ? t("passport:common.received") : t("passport:common.sent") }),
23812
+ parent.status === "ok" ? /* @__PURE__ */ jsx115(PositiveIcon, {}) : /* @__PURE__ */ jsx115(NegativeIcon, {})
23807
23813
  ] }),
23808
- /* @__PURE__ */ jsx114("span", { className: "block flex-0 font-mono text-[10px] text-[var(--ui-kit-fg-muted)]", children: formatTimestamp(group.timestampMs) })
23814
+ /* @__PURE__ */ jsx115("span", { className: "block flex-0 font-mono text-[10px] text-[var(--ui-kit-fg-muted)]", children: formatTimestamp(group.timestampMs) })
23809
23815
  ] }),
23810
23816
  /* @__PURE__ */ jsxs103("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
23811
23817
  /* @__PURE__ */ jsxs103("div", { className: "flex flex-col gap-0", children: [
@@ -23821,7 +23827,7 @@ function TransactionsGroup(props) {
23821
23827
  ] })
23822
23828
  ] }),
23823
23829
  /* @__PURE__ */ jsxs103("div", { className: "flex items-center gap-0", children: [
23824
- /* @__PURE__ */ jsx114(
23830
+ /* @__PURE__ */ jsx115(
23825
23831
  Button,
23826
23832
  {
23827
23833
  variant: "ghost",
@@ -23830,10 +23836,10 @@ function TransactionsGroup(props) {
23830
23836
  onClick: (e) => {
23831
23837
  e.stopPropagation();
23832
23838
  },
23833
- children: /* @__PURE__ */ jsx114(Copy4, { className: "w-4 h-4" })
23839
+ children: /* @__PURE__ */ jsx115(Copy4, { className: "w-4 h-4" })
23834
23840
  }
23835
23841
  ),
23836
- /* @__PURE__ */ jsx114(
23842
+ /* @__PURE__ */ jsx115(
23837
23843
  Button,
23838
23844
  {
23839
23845
  variant: "ghost",
@@ -23842,13 +23848,13 @@ function TransactionsGroup(props) {
23842
23848
  onClick: (e) => {
23843
23849
  e.stopPropagation();
23844
23850
  },
23845
- children: /* @__PURE__ */ jsx114(LumiaIcon3, { className: "w-4 h-4" })
23851
+ children: /* @__PURE__ */ jsx115(LumiaIcon3, { className: "w-4 h-4" })
23846
23852
  }
23847
23853
  )
23848
23854
  ] })
23849
23855
  ] }),
23850
- internalsToRender.length > 0 && /* @__PURE__ */ jsxs103(Fragment45, { children: [
23851
- /* @__PURE__ */ jsx114("div", { className: "w-full flex items-center h-4", children: /* @__PURE__ */ jsx114("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }) }),
23856
+ internalsToRender.length > 0 && /* @__PURE__ */ jsxs103(Fragment44, { children: [
23857
+ /* @__PURE__ */ jsx115("div", { className: "w-full flex items-center h-4", children: /* @__PURE__ */ jsx115("div", { style: { borderTop: "1px solid var(--ui-kit-bd)" }, className: "flex-1" }) }),
23852
23858
  /* @__PURE__ */ jsxs103(
23853
23859
  "div",
23854
23860
  {
@@ -23869,11 +23875,11 @@ function TransactionsGroup(props) {
23869
23875
  internalsToRender.length,
23870
23876
  ")"
23871
23877
  ] }),
23872
- expanded ? /* @__PURE__ */ jsx114(ChevronUp, { className: "w-4 h-4 text-[var(--ui-kit-fg-muted)]" }) : /* @__PURE__ */ jsx114(ChevronDown, { className: "w-4 h-4 text-[var(--ui-kit-fg-muted)]" })
23878
+ expanded ? /* @__PURE__ */ jsx115(ChevronUp, { className: "w-4 h-4 text-[var(--ui-kit-fg-muted)]" }) : /* @__PURE__ */ jsx115(ChevronDown, { className: "w-4 h-4 text-[var(--ui-kit-fg-muted)]" })
23873
23879
  ]
23874
23880
  }
23875
23881
  ),
23876
- expanded && /* @__PURE__ */ jsx114("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx114(
23882
+ expanded && /* @__PURE__ */ jsx115("div", { className: "px-2 pb-2 flex flex-col gap-2 text-xs", children: internalsToRender.map((internal) => /* @__PURE__ */ jsx115(
23877
23883
  InternalTransaction,
23878
23884
  {
23879
23885
  internal,
@@ -23903,18 +23909,18 @@ var init_TransactionsGroup = __esm({
23903
23909
  });
23904
23910
 
23905
23911
  // src/internal/components/TransactionsMenu/TransactionsMenu.tsx
23906
- import { useQuery as useQuery25, useQueryClient as useQueryClient26 } from "@tanstack/react-query";
23912
+ import { useQuery as useQuery25, useQueryClient as useQueryClient25 } from "@tanstack/react-query";
23907
23913
  import { ArrowLeft as ArrowLeft22, Loader as Loader34, RefreshCw as RefreshCw3, XCircle } from "lucide-react";
23908
- import { useCallback as useCallback25, useState as useState31 } from "react";
23909
- import { jsx as jsx115, jsxs as jsxs104 } from "react/jsx-runtime";
23914
+ import { useCallback as useCallback25, useState as useState32 } from "react";
23915
+ import { jsx as jsx116, jsxs as jsxs104 } from "react/jsx-runtime";
23910
23916
  function TransactionsMenu() {
23911
- const qc = useQueryClient26();
23917
+ const qc = useQueryClient25();
23912
23918
  const address = useSession((st) => st.address);
23913
23919
  const chainConfig = useSession((st) => st.chainConfig);
23914
23920
  const { t } = useT();
23915
23921
  const setPage = useLayoutDataStore((st) => st.setPage);
23916
23922
  const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
23917
- const [expandedGroups, setExpandedGroups] = useState31({});
23923
+ const [expandedGroups, setExpandedGroups] = useState32({});
23918
23924
  const historySupported = isTransactionHistorySupported(chainConfig?.id);
23919
23925
  const {
23920
23926
  data: txHistoryGroups = [],
@@ -23932,7 +23938,7 @@ function TransactionsMenu() {
23932
23938
  [qc, chainConfig.id, address]
23933
23939
  );
23934
23940
  const txHistoryResolvedError = txHistoryError ? txHistoryError instanceof Error ? txHistoryError.message : "Failed to load transactions" : null;
23935
- return /* @__PURE__ */ jsx115(
23941
+ return /* @__PURE__ */ jsx116(
23936
23942
  "div",
23937
23943
  {
23938
23944
  style: {
@@ -23942,9 +23948,9 @@ function TransactionsMenu() {
23942
23948
  className: "list-scrollbar-y w-full p-[var(--ui-kit-pd)]",
23943
23949
  children: /* @__PURE__ */ jsxs104(Expandable, { isExpanded: true, contentClassName: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
23944
23950
  /* @__PURE__ */ jsxs104("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
23945
- /* @__PURE__ */ jsx115(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx115(ArrowLeft22, { className: "h-4 w-4" }) }),
23946
- /* @__PURE__ */ jsx115("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
23947
- historySupported && /* @__PURE__ */ jsx115(
23951
+ /* @__PURE__ */ jsx116(Button, { variant: "ghost", size: "icon", title: "Back", onClick: () => setPage("settings" /* SETTINGS */), children: /* @__PURE__ */ jsx116(ArrowLeft22, { className: "h-4 w-4" }) }),
23952
+ /* @__PURE__ */ jsx116("span", { className: "text-xl font-semibold", children: t("passport:transactionsMenu.title") }),
23953
+ historySupported && /* @__PURE__ */ jsx116(
23948
23954
  Button,
23949
23955
  {
23950
23956
  variant: "ghost",
@@ -23952,18 +23958,18 @@ function TransactionsMenu() {
23952
23958
  onClick: refreshTxHistory,
23953
23959
  disabled: isTxHistoryFetching,
23954
23960
  title: "Refresh transactions",
23955
- children: isTxHistoryFetching ? /* @__PURE__ */ jsx115(Loader34, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx115(RefreshCw3, { className: "h-4 w-4" })
23961
+ children: isTxHistoryFetching ? /* @__PURE__ */ jsx116(Loader34, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ jsx116(RefreshCw3, { className: "h-4 w-4" })
23956
23962
  }
23957
23963
  )
23958
23964
  ] }),
23959
- !historySupported && /* @__PURE__ */ jsx115(Highlight, { type: "warning", children: /* @__PURE__ */ jsx115("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
23960
- historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx115("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx115(Loader34, { className: "w-4 h-4 animate-spin" }) }),
23965
+ !historySupported && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.comingSoon") }) }),
23966
+ historySupported && isTxHistoryLoading && /* @__PURE__ */ jsx116("div", { className: "flex items-center justify-center p-8", children: /* @__PURE__ */ jsx116(Loader34, { className: "w-4 h-4 animate-spin" }) }),
23961
23967
  historySupported && !isTxHistoryLoading && txHistoryResolvedError && /* @__PURE__ */ jsxs104(Highlight, { type: "error", className: "flex gap-[var(--ui-kit-gap)]", children: [
23962
- /* @__PURE__ */ jsx115(XCircle, { className: "w-4 h-4 flex-none" }),
23963
- /* @__PURE__ */ jsx115("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
23968
+ /* @__PURE__ */ jsx116(XCircle, { className: "w-4 h-4 flex-none" }),
23969
+ /* @__PURE__ */ jsx116("span", { className: "block w-full flex-1 text-center text-xs", children: txHistoryResolvedError })
23964
23970
  ] }),
23965
- historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx115(Highlight, { type: "warning", children: /* @__PURE__ */ jsx115("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
23966
- historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx115("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx115(
23971
+ historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length === 0 && /* @__PURE__ */ jsx116(Highlight, { type: "warning", children: /* @__PURE__ */ jsx116("span", { children: t("passport:transactionsMenu.noTransactions") }) }),
23972
+ historySupported && !isTxHistoryLoading && !txHistoryResolvedError && txHistoryGroups.length > 0 && /* @__PURE__ */ jsx116("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: txHistoryGroups.map((group) => /* @__PURE__ */ jsx116(
23967
23973
  TransactionsGroup,
23968
23974
  {
23969
23975
  group,
@@ -24167,7 +24173,7 @@ var init_PageMap = __esm({
24167
24173
 
24168
24174
  // src/internal/hooks/usePageMapper.tsx
24169
24175
  import { useCallback as useCallback26, useEffect as useEffect45 } from "react";
24170
- import { jsx as jsx116 } from "react/jsx-runtime";
24176
+ import { jsx as jsx117 } from "react/jsx-runtime";
24171
24177
  function usePageMapper() {
24172
24178
  const page = useLayoutDataStore((st) => st.page);
24173
24179
  const {
@@ -24194,7 +24200,7 @@ function usePageMapper() {
24194
24200
  const PageContentComponent = pageItem.component;
24195
24201
  setDialogTitle(pageItem.title);
24196
24202
  setDialogDescription(pageItem.description);
24197
- setDialogContent(/* @__PURE__ */ jsx116(PageContentComponent, {}));
24203
+ setDialogContent(/* @__PURE__ */ jsx117(PageContentComponent, {}));
24198
24204
  setIsDialogOpen(true);
24199
24205
  },
24200
24206
  [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
@@ -24275,7 +24281,7 @@ var init_package = __esm({
24275
24281
  "package.json"() {
24276
24282
  package_default = {
24277
24283
  name: "@embarkai/ui-kit",
24278
- version: "0.4.30",
24284
+ version: "0.4.32",
24279
24285
  description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
24280
24286
  type: "module",
24281
24287
  main: "./dist/index.cjs",
@@ -24373,11 +24379,11 @@ var init_package = __esm({
24373
24379
  });
24374
24380
 
24375
24381
  // src/internal/components/Footer/Footer.tsx
24376
- import { useMutation as useMutation20, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
24382
+ import { useMutation as useMutation20, useQueryClient as useQueryClient26 } from "@tanstack/react-query";
24377
24383
  import { Loader as Loader35, LogOut } from "lucide-react";
24378
- import { jsx as jsx117, jsxs as jsxs105 } from "react/jsx-runtime";
24384
+ import { jsx as jsx118, jsxs as jsxs105 } from "react/jsx-runtime";
24379
24385
  function Footer() {
24380
- const qc = useQueryClient27();
24386
+ const qc = useQueryClient26();
24381
24387
  const { callbacksRef } = useProviderConfig();
24382
24388
  const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useSession();
24383
24389
  const chainConfig = useSession((st) => st.chainConfig);
@@ -24416,7 +24422,7 @@ function Footer() {
24416
24422
  setIsDialogForced(false);
24417
24423
  }
24418
24424
  });
24419
- const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx117("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx117("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
24425
+ const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx118("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx118("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
24420
24426
  return /* @__PURE__ */ jsxs105(
24421
24427
  "div",
24422
24428
  {
@@ -24432,8 +24438,8 @@ function Footer() {
24432
24438
  disabled: isDisconnecting,
24433
24439
  onClick: () => address && window.open(`${getExplorerUrl()}/address/${address}`, "_blank"),
24434
24440
  children: [
24435
- /* @__PURE__ */ jsx117(ChainIcon, { className: "flex-none w-6 h-6" }),
24436
- /* @__PURE__ */ jsx117("span", { className: "text-xs font-bold", children: chainConfig.name || "EmbarkAI Wallet" })
24441
+ /* @__PURE__ */ jsx118(ChainIcon, { className: "flex-none w-6 h-6" }),
24442
+ /* @__PURE__ */ jsx118("span", { className: "text-xs font-bold", children: chainConfig.name || "EmbarkAI Wallet" })
24437
24443
  ]
24438
24444
  }
24439
24445
  ),
@@ -24446,13 +24452,13 @@ function Footer() {
24446
24452
  onClick: () => disconnect(address),
24447
24453
  disabled: isDisconnecting,
24448
24454
  children: [
24449
- /* @__PURE__ */ jsx117("span", { children: t("passport:auth.logout") }),
24450
- isDisconnecting ? /* @__PURE__ */ jsx117(Loader35, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx117(LogOut, { className: "w-4 h-4" })
24455
+ /* @__PURE__ */ jsx118("span", { children: t("passport:auth.logout") }),
24456
+ isDisconnecting ? /* @__PURE__ */ jsx118(Loader35, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx118(LogOut, { className: "w-4 h-4" })
24451
24457
  ]
24452
24458
  }
24453
24459
  ) : null
24454
24460
  ] }),
24455
- /* @__PURE__ */ jsx117(
24461
+ /* @__PURE__ */ jsx118(
24456
24462
  "span",
24457
24463
  {
24458
24464
  className: cn(
@@ -24493,8 +24499,8 @@ var init_Footer2 = __esm({
24493
24499
  // src/internal/components/Header/Header.tsx
24494
24500
  import { useQuery as useQuery27 } from "@tanstack/react-query";
24495
24501
  import { Copy as Copy5, Loader as Loader36 } from "lucide-react";
24496
- import { useCallback as useCallback27, useRef as useRef20, useState as useState32 } from "react";
24497
- import { Fragment as Fragment46, jsx as jsx118, jsxs as jsxs106 } from "react/jsx-runtime";
24502
+ import { useCallback as useCallback27, useRef as useRef20, useState as useState33 } from "react";
24503
+ import { Fragment as Fragment45, jsx as jsx119, jsxs as jsxs106 } from "react/jsx-runtime";
24498
24504
  function formatAddress2(addr) {
24499
24505
  if (!addr) return "";
24500
24506
  return `${addr.slice(0, 10)}...${addr.slice(-4)}`;
@@ -24505,8 +24511,8 @@ function Header() {
24505
24511
  const chainConfig = useSession((st) => st.chainConfig);
24506
24512
  const { t } = useT();
24507
24513
  const proMode = useProMode();
24508
- const [proToast, setProToast] = useState32(false);
24509
- const [copied, setCopied] = useState32(false);
24514
+ const [proToast, setProToast] = useState33(false);
24515
+ const [copied, setCopied] = useState33(false);
24510
24516
  const clickCountRef = useRef20(0);
24511
24517
  const clickTimerRef = useRef20(null);
24512
24518
  const handleAvatarClick = useCallback27(() => {
@@ -24535,7 +24541,7 @@ function Header() {
24535
24541
  });
24536
24542
  const avatar = profile?.avatar || jwtTokenManager2.getAvatar();
24537
24543
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
24538
- const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx118("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx118("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
24544
+ const ChainIcon = NETWORK_OPTIONS.find((net) => net.chainId === chainConfig.id)?.Icon || (() => /* @__PURE__ */ jsx119("div", { className: "flex-none w-4 h-4 rounded-full flex items-center justify-center bg-[var(--ui-kit-primary)]", children: /* @__PURE__ */ jsx119("span", { className: "text-[var(--ui-kit-fg-inverted)] text-xs font-bold", children: chainConfig.name.charAt(0) }) }));
24539
24545
  return /* @__PURE__ */ jsxs106(
24540
24546
  "div",
24541
24547
  {
@@ -24549,8 +24555,8 @@ function Header() {
24549
24555
  className: "relative flex-none w-12 h-12 flex items-center justify-center cursor-pointer select-none",
24550
24556
  onClick: handleAvatarClick,
24551
24557
  children: [
24552
- proMode && /* @__PURE__ */ jsx118("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3", children: "PRO" }),
24553
- avatar ? /* @__PURE__ */ jsx118("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx118(LumiaIcon3, { width: 48, height: 48 })
24558
+ proMode && /* @__PURE__ */ jsx119("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3", children: "PRO" }),
24559
+ avatar ? /* @__PURE__ */ jsx119("img", { src: avatar, alt: displayName, className: "w-full h-full object-cover rounded-full" }) : /* @__PURE__ */ jsx119(LumiaIcon3, { width: 48, height: 48 })
24554
24560
  ]
24555
24561
  }
24556
24562
  ),
@@ -24560,10 +24566,10 @@ function Header() {
24560
24566
  style: { width: "calc(100% - 48px - var(--ui-kit-gap))" },
24561
24567
  className: "flex-1 flex flex-col justify-center gap-1",
24562
24568
  children: [
24563
- isProfileLoading && /* @__PURE__ */ jsx118(Loader36, { className: "w-4 h-4 animate-spin" }),
24564
- !!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs106(Fragment46, { children: [
24569
+ isProfileLoading && /* @__PURE__ */ jsx119(Loader36, { className: "w-4 h-4 animate-spin" }),
24570
+ !!address && !isProfileLoading && !!profile && /* @__PURE__ */ jsxs106(Fragment45, { children: [
24565
24571
  /* @__PURE__ */ jsxs106("div", { className: "w-full flex items-center gap-[var(--ui-kit-gap)]", children: [
24566
- /* @__PURE__ */ jsx118(
24572
+ /* @__PURE__ */ jsx119(
24567
24573
  "span",
24568
24574
  {
24569
24575
  className: cn(
@@ -24573,9 +24579,9 @@ function Header() {
24573
24579
  children: displayName || config.current?.ui?.title || "EmbarkAI"
24574
24580
  }
24575
24581
  ),
24576
- /* @__PURE__ */ jsx118(KYCStatus, {})
24582
+ /* @__PURE__ */ jsx119(KYCStatus, {})
24577
24583
  ] }),
24578
- /* @__PURE__ */ jsx118(BalanceView, {})
24584
+ /* @__PURE__ */ jsx119(BalanceView, {})
24579
24585
  ] })
24580
24586
  ]
24581
24587
  }
@@ -24583,10 +24589,10 @@ function Header() {
24583
24589
  ] }),
24584
24590
  !!address && /* @__PURE__ */ jsxs106("div", { className: "w-full flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
24585
24591
  /* @__PURE__ */ jsxs106("div", { className: "flex items-center w-fit text-[10px] px-2 leading-6 text-[var(--ui-kit-fg)] gap-2", children: [
24586
- /* @__PURE__ */ jsx118("span", { children: formatAddress2(address) }),
24587
- /* @__PURE__ */ jsx118(ChainIcon, { className: "flex-none w-4 h-4" })
24592
+ /* @__PURE__ */ jsx119("span", { children: formatAddress2(address) }),
24593
+ /* @__PURE__ */ jsx119(ChainIcon, { className: "flex-none w-4 h-4" })
24588
24594
  ] }),
24589
- /* @__PURE__ */ jsx118("div", { className: "w-fit flex items-center gap-[var(--ui-kit-gap)] justify-between", children: /* @__PURE__ */ jsxs106(
24595
+ /* @__PURE__ */ jsx119("div", { className: "w-fit flex items-center gap-[var(--ui-kit-gap)] justify-between", children: /* @__PURE__ */ jsxs106(
24590
24596
  Button,
24591
24597
  {
24592
24598
  size: "small",
@@ -24598,13 +24604,13 @@ function Header() {
24598
24604
  setTimeout(() => setCopied(false), 1500);
24599
24605
  },
24600
24606
  children: [
24601
- copied ? /* @__PURE__ */ jsx118(PositiveIcon, {}) : /* @__PURE__ */ jsx118(Copy5, { className: "w-4 h-4" }),
24602
- /* @__PURE__ */ jsx118("span", { className: "uppercase", children: t("passport:common.copy") })
24607
+ copied ? /* @__PURE__ */ jsx119(PositiveIcon, {}) : /* @__PURE__ */ jsx119(Copy5, { className: "w-4 h-4" }),
24608
+ /* @__PURE__ */ jsx119("span", { className: "uppercase", children: t("passport:common.copy") })
24603
24609
  ]
24604
24610
  }
24605
24611
  ) })
24606
24612
  ] }),
24607
- proToast && /* @__PURE__ */ jsx118("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
24613
+ proToast && /* @__PURE__ */ jsx119("div", { className: "text-xs text-center text-[var(--ui-kit-primary)] font-medium animate-pulse", children: "Pro Mode activated" })
24608
24614
  ]
24609
24615
  }
24610
24616
  );
@@ -24639,7 +24645,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
24639
24645
  import { merge as merge2 } from "lodash-es";
24640
24646
  import { ArrowLeft as ArrowLeft23, SlidersHorizontal, X as X2 } from "lucide-react";
24641
24647
  import { forwardRef as forwardRef4 } from "react";
24642
- import { jsx as jsx119, jsxs as jsxs107 } from "react/jsx-runtime";
24648
+ import { jsx as jsx120, jsxs as jsxs107 } from "react/jsx-runtime";
24643
24649
  function useDecideContentStyles() {
24644
24650
  const isMobileView = useLayoutStore((st) => st.isMobileView);
24645
24651
  const isClosing = useLayoutStore((st) => !!st.isDialogOpen && !!st.isDialogClosing);
@@ -24662,7 +24668,7 @@ var init_dialog = __esm({
24662
24668
  Dialog = DialogPrimitive.Root;
24663
24669
  DialogPortal = DialogPrimitive.Portal;
24664
24670
  DialogOverlay = forwardRef4(
24665
- ({ className, closing, ...props }, ref) => /* @__PURE__ */ jsx119(
24671
+ ({ className, closing, ...props }, ref) => /* @__PURE__ */ jsx120(
24666
24672
  DialogPrimitive.Overlay,
24667
24673
  {
24668
24674
  ref,
@@ -24695,9 +24701,9 @@ var init_dialog = __esm({
24695
24701
  const { isMobileView, isClosing, style } = useDecideContentStyles();
24696
24702
  const animationCnPrefix = isMobileView ? "animate-mobile-dialog" : "animate-dialog";
24697
24703
  const dialogAnimationCn = isClosing ? `${animationCnPrefix}-out` : `${animationCnPrefix}-in`;
24698
- return /* @__PURE__ */ jsx119(DialogPortal, { children: /* @__PURE__ */ jsxs107("div", { className: "embarkai-ui-scope", "data-current-theme-mode": colorMode, style: { ...style, outline: "none" }, children: [
24699
- /* @__PURE__ */ jsx119(DialogOverlay, { closing: isClosing, className: cn(isWalletLinking && "pointer-events-none") }),
24700
- /* @__PURE__ */ jsx119(
24704
+ return /* @__PURE__ */ jsx120(DialogPortal, { children: /* @__PURE__ */ jsxs107("div", { className: "embarkai-ui-scope", "data-current-theme-mode": colorMode, style: { ...style, outline: "none" }, children: [
24705
+ /* @__PURE__ */ jsx120(DialogOverlay, { closing: isClosing, className: cn(isWalletLinking && "pointer-events-none") }),
24706
+ /* @__PURE__ */ jsx120(
24701
24707
  "div",
24702
24708
  {
24703
24709
  className: cn(
@@ -24737,8 +24743,8 @@ var init_dialog = __esm({
24737
24743
  className: "relative w-4 h-4",
24738
24744
  onClick: () => setPage("languages" /* LANGUAGES */),
24739
24745
  children: [
24740
- /* @__PURE__ */ jsx119("span", { className: "sr-only", children: t("passport:common.language") }),
24741
- /* @__PURE__ */ jsx119("span", { className: "w-4 h-4 leading-4 block text-[10px] font-bold", children: getLanguageIcon(i18n.resolvedLanguage) || i18n.resolvedLanguage?.toUpperCase() })
24746
+ /* @__PURE__ */ jsx120("span", { className: "sr-only", children: t("passport:common.language") }),
24747
+ /* @__PURE__ */ jsx120("span", { className: "w-4 h-4 leading-4 block text-[10px] font-bold", children: getLanguageIcon(i18n.resolvedLanguage) || i18n.resolvedLanguage?.toUpperCase() })
24742
24748
  ]
24743
24749
  }
24744
24750
  ),
@@ -24750,9 +24756,9 @@ var init_dialog = __esm({
24750
24756
  className: "relative w-4 h-4",
24751
24757
  onClick: () => setPage("settings" /* SETTINGS */),
24752
24758
  children: [
24753
- /* @__PURE__ */ jsx119("span", { className: "sr-only", children: t("passport:common.settings") }),
24754
- /* @__PURE__ */ jsx119(SlidersHorizontal, { className: "w-4 h-4" }),
24755
- !!settingsNotifications.length && /* @__PURE__ */ jsx119(
24759
+ /* @__PURE__ */ jsx120("span", { className: "sr-only", children: t("passport:common.settings") }),
24760
+ /* @__PURE__ */ jsx120(SlidersHorizontal, { className: "w-4 h-4" }),
24761
+ !!settingsNotifications.length && /* @__PURE__ */ jsx120(
24756
24762
  "div",
24757
24763
  {
24758
24764
  className: cn(
@@ -24766,9 +24772,9 @@ var init_dialog = __esm({
24766
24772
  ]
24767
24773
  }
24768
24774
  ),
24769
- /* @__PURE__ */ jsx119(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs107(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
24770
- /* @__PURE__ */ jsx119(X2, { className: "h-4 w-4" }),
24771
- /* @__PURE__ */ jsx119("span", { className: "sr-only", children: t("passport:common.close") })
24775
+ /* @__PURE__ */ jsx120(DialogPrimitive.Close, { asChild: true, children: /* @__PURE__ */ jsxs107(Button, { variant: "ghost", size: "icon", className: "w-4 h-4", children: [
24776
+ /* @__PURE__ */ jsx120(X2, { className: "h-4 w-4" }),
24777
+ /* @__PURE__ */ jsx120("span", { className: "sr-only", children: t("passport:common.close") })
24772
24778
  ] }) })
24773
24779
  ]
24774
24780
  }
@@ -24782,11 +24788,11 @@ var init_dialog = __esm({
24782
24788
  }
24783
24789
  );
24784
24790
  DialogContent.displayName = DialogPrimitive.Content.displayName;
24785
- DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx119("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
24791
+ DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsx120("div", { className: cn("flex flex-col space-y-1.5 text-center sm:text-left", className), ...props });
24786
24792
  DialogHeader.displayName = "DialogHeader";
24787
- DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx119("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
24793
+ DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx120("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
24788
24794
  DialogFooter.displayName = "DialogFooter";
24789
- DialogTitle = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx119(
24795
+ DialogTitle = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(
24790
24796
  DialogPrimitive.Title,
24791
24797
  {
24792
24798
  ref,
@@ -24795,24 +24801,24 @@ var init_dialog = __esm({
24795
24801
  }
24796
24802
  ));
24797
24803
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
24798
- DialogDescription = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx119(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
24804
+ DialogDescription = forwardRef4(({ className, ...props }, ref) => /* @__PURE__ */ jsx120(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
24799
24805
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
24800
24806
  }
24801
24807
  });
24802
24808
 
24803
24809
  // src/internal/components/ui/visually-hidden.tsx
24804
- import { jsx as jsx120 } from "react/jsx-runtime";
24810
+ import { jsx as jsx121 } from "react/jsx-runtime";
24805
24811
  var VisuallyHidden;
24806
24812
  var init_visually_hidden = __esm({
24807
24813
  "src/internal/components/ui/visually-hidden.tsx"() {
24808
- VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx120("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
24814
+ VisuallyHidden = ({ children }) => /* @__PURE__ */ jsx121("span", { className: "sr-only absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0", children });
24809
24815
  }
24810
24816
  });
24811
24817
 
24812
24818
  // src/internal/components/Dialog/Dialog.tsx
24813
24819
  import { AnimatePresence, motion } from "framer-motion";
24814
24820
  import { useEffect as useEffect47 } from "react";
24815
- import { jsx as jsx121, jsxs as jsxs108 } from "react/jsx-runtime";
24821
+ import { jsx as jsx122, jsxs as jsxs108 } from "react/jsx-runtime";
24816
24822
  function Dialog2() {
24817
24823
  const config = useProviderConfig().config;
24818
24824
  const className = config.current?.ui?.dialogClassName;
@@ -24831,7 +24837,7 @@ function Dialog2() {
24831
24837
  useSettingsNotifications();
24832
24838
  useListenIframeAuthEvents();
24833
24839
  const isHeaderHidden = !session || page === "keysare-backup" /* KEYSARE_BACKUP */ && !hasServerVault;
24834
- return /* @__PURE__ */ jsx121(
24840
+ return /* @__PURE__ */ jsx122(
24835
24841
  Dialog,
24836
24842
  {
24837
24843
  modal: !isWalletLinking,
@@ -24841,10 +24847,10 @@ function Dialog2() {
24841
24847
  if (!open) setPage(null);
24842
24848
  },
24843
24849
  children: /* @__PURE__ */ jsxs108(DialogContent, { colorMode, className, children: [
24844
- /* @__PURE__ */ jsx121(VisuallyHidden, { children: /* @__PURE__ */ jsx121(DialogTitle, { children: dialogTitle }) }),
24845
- /* @__PURE__ */ jsx121(DialogDescription, { className: "sr-only", children: dialogDescription }),
24846
- !isHeaderHidden && /* @__PURE__ */ jsx121(Header, {}),
24847
- /* @__PURE__ */ jsx121(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx121(
24850
+ /* @__PURE__ */ jsx122(VisuallyHidden, { children: /* @__PURE__ */ jsx122(DialogTitle, { children: dialogTitle }) }),
24851
+ /* @__PURE__ */ jsx122(DialogDescription, { className: "sr-only", children: dialogDescription }),
24852
+ !isHeaderHidden && /* @__PURE__ */ jsx122(Header, {}),
24853
+ /* @__PURE__ */ jsx122(AnimatePresence, { mode: "wait", initial: false, children: /* @__PURE__ */ jsx122(
24848
24854
  motion.div,
24849
24855
  {
24850
24856
  initial: { opacity: 0, height: transitionPageHeight },
@@ -24856,7 +24862,7 @@ function Dialog2() {
24856
24862
  },
24857
24863
  page || "empty"
24858
24864
  ) }),
24859
- /* @__PURE__ */ jsx121(Footer, {})
24865
+ /* @__PURE__ */ jsx122(Footer, {})
24860
24866
  ] })
24861
24867
  }
24862
24868
  );
@@ -24944,11 +24950,11 @@ var init_TssManager = __esm({
24944
24950
 
24945
24951
  // src/internal/components/WalletConnectHandler.tsx
24946
24952
  import { useConnectModal as useConnectModal2 } from "@rainbow-me/rainbowkit";
24947
- import { useMutation as useMutation21, useQueryClient as useQueryClient28 } from "@tanstack/react-query";
24953
+ import { useMutation as useMutation21, useQueryClient as useQueryClient27 } from "@tanstack/react-query";
24948
24954
  import React10, { useCallback as useCallback29, useEffect as useEffect48 } from "react";
24949
24955
  import { useAccount, useDisconnect, useSignMessage as useSignMessage2 } from "wagmi";
24950
24956
  function WalletConnectHandler() {
24951
- const qc = useQueryClient28();
24957
+ const qc = useQueryClient27();
24952
24958
  const { callbacksRef } = useProviderConfig();
24953
24959
  const passportWalletAddress = useSession((st) => st.address);
24954
24960
  const { address: walletAddress, isConnected, chain, connector } = useAccount();
@@ -25281,20 +25287,20 @@ var init_DirectWalletHandler = __esm({
25281
25287
  // src/context/SessionContext.tsx
25282
25288
  import {
25283
25289
  createBundlerClientForChain,
25284
- createPublicClientForChain as createPublicClientForChain5,
25290
+ createPublicClientForChain as createPublicClientForChain6,
25285
25291
  DEFAULT_CHAIN_ID as DEFAULT_CHAIN_ID2,
25286
- getChainConfig as getChainConfig10,
25292
+ getChainConfig as getChainConfig9,
25287
25293
  getViemChain as getViemChain2
25288
25294
  } from "@embarkai/core/read";
25289
- import { Fragment as Fragment47 } from "react";
25295
+ import { Fragment as Fragment46 } from "react";
25290
25296
  import { create as create11 } from "zustand";
25291
25297
  import { persist as persist3 } from "zustand/middleware";
25292
- import { jsx as jsx122, jsxs as jsxs109 } from "react/jsx-runtime";
25298
+ import { jsx as jsx123, jsxs as jsxs109 } from "react/jsx-runtime";
25293
25299
  function getChainParams(chainCfg) {
25294
25300
  return {
25295
25301
  activeChainId: chainCfg.id,
25296
25302
  chainConfig: chainCfg,
25297
- publicClient: createPublicClientForChain5(chainCfg.id),
25303
+ publicClient: createPublicClientForChain6(chainCfg.id),
25298
25304
  bundlerClient: createBundlerClientForChain(chainCfg.id),
25299
25305
  viemChain: getViemChain2(chainCfg.id)
25300
25306
  };
@@ -25307,19 +25313,19 @@ function waitForStoreHydration() {
25307
25313
  }
25308
25314
  function SessionProvider({ children }) {
25309
25315
  const config = useProviderConfig().config;
25310
- return /* @__PURE__ */ jsxs109(Fragment47, { children: [
25316
+ return /* @__PURE__ */ jsxs109(Fragment46, { children: [
25311
25317
  children,
25312
- config.current?.wallet?.enabled && /* @__PURE__ */ jsx122(WalletConnectHandler, {}),
25313
- config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ jsx122(DirectWalletHandler, {}),
25314
- /* @__PURE__ */ jsx122(BalanceFeedProvider, {}),
25315
- /* @__PURE__ */ jsx122(ChainSync, {}),
25316
- /* @__PURE__ */ jsx122(
25318
+ config.current?.wallet?.enabled && /* @__PURE__ */ jsx123(WalletConnectHandler, {}),
25319
+ config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ jsx123(DirectWalletHandler, {}),
25320
+ /* @__PURE__ */ jsx123(BalanceFeedProvider, {}),
25321
+ /* @__PURE__ */ jsx123(ChainSync, {}),
25322
+ /* @__PURE__ */ jsx123(
25317
25323
  TssManagerWithRef,
25318
25324
  {
25319
25325
  mpcPin: void 0
25320
25326
  }
25321
25327
  ),
25322
- /* @__PURE__ */ jsx122(Dialog2, {})
25328
+ /* @__PURE__ */ jsx123(Dialog2, {})
25323
25329
  ] });
25324
25330
  }
25325
25331
  var useSession, requireActiveChainId;
@@ -25392,7 +25398,7 @@ var init_SessionContext = __esm({
25392
25398
  // Set default chainId after hydration if not persisted
25393
25399
  onRehydrateStorage: () => (state) => {
25394
25400
  if (!state) return;
25395
- const hydartedChain = getChainParams(getChainConfig10(state.activeChainId || DEFAULT_CHAIN_ID2));
25401
+ const hydartedChain = getChainParams(getChainConfig9(state.activeChainId || DEFAULT_CHAIN_ID2));
25396
25402
  state.activeChainId = hydartedChain.activeChainId;
25397
25403
  state.publicClient = hydartedChain.publicClient;
25398
25404
  state.bundlerClient = hydartedChain.bundlerClient;
@@ -25439,7 +25445,7 @@ var init_env = __esm({
25439
25445
  });
25440
25446
 
25441
25447
  // src/internal/clients/base.ts
25442
- import { getChainConfig as getChainConfig11, getViemChain as getViemChain3, lumiaMainnetChain, lumiaTestnetChain } from "@embarkai/core/read";
25448
+ import { getChainConfig as getChainConfig10, getViemChain as getViemChain3, lumiaMainnetChain, lumiaTestnetChain } from "@embarkai/core/read";
25443
25449
  import { http as http4 } from "viem";
25444
25450
  import { createBundlerClient } from "viem/account-abstraction";
25445
25451
  function getTssUrl2() {
@@ -25470,13 +25476,13 @@ function getExplorerUrl() {
25470
25476
  const paramUrl = typeof window !== "undefined" ? new URLSearchParams(window.location.search).get("explorerUrl") || void 0 : void 0;
25471
25477
  const net = getSelectedNetwork();
25472
25478
  const chainId = requireActiveChainId();
25473
- const chainConfig = getChainConfig11(chainId);
25479
+ const chainConfig = getChainConfig10(chainId);
25474
25480
  console.log("[getExplorerUrl] ", paramUrl, chainConfig.blockExplorerUrl);
25475
25481
  return paramUrl || chainConfig.blockExplorerUrl;
25476
25482
  }
25477
25483
  function getBundlerClient() {
25478
25484
  const chainId = requireActiveChainId();
25479
- const chainConfig = getChainConfig11(chainId);
25485
+ const chainConfig = getChainConfig10(chainId);
25480
25486
  const viemChain = getViemChain3(chainId);
25481
25487
  return createBundlerClient({
25482
25488
  chain: viemChain,
@@ -28000,14 +28006,14 @@ var init_rainbowkit = __esm({
28000
28006
 
28001
28007
  // src/context/RainbowKitContext.tsx
28002
28008
  import { darkTheme, lightTheme, RainbowKitProvider as NativeRainbowKitProvider } from "@rainbow-me/rainbowkit";
28003
- import { useMemo as useMemo9 } from "react";
28009
+ import { useMemo as useMemo11 } from "react";
28004
28010
  import { WagmiProvider } from "wagmi";
28005
28011
  import "@rainbow-me/rainbowkit/styles.css";
28006
- import { Fragment as Fragment48, jsx as jsx123 } from "react/jsx-runtime";
28012
+ import { Fragment as Fragment47, jsx as jsx124 } from "react/jsx-runtime";
28007
28013
  function RainbowKitProvider({ children }) {
28008
28014
  const config = useProviderConfig().config;
28009
28015
  const colorMode = useLayoutStore((st) => st.colorMode);
28010
- const rainbowConfig = useMemo9(
28016
+ const rainbowConfig = useMemo11(
28011
28017
  () => createRainbowConfig({
28012
28018
  projectId: config.current?.wallet?.walletConnectProjectId,
28013
28019
  allowedWallets: config.current?.wallet?.allowedWallets,
@@ -28021,7 +28027,7 @@ function RainbowKitProvider({ children }) {
28021
28027
  config.current?.wallet?.walletConnectProjectId
28022
28028
  ]
28023
28029
  );
28024
- const customTheme = useMemo9(() => {
28030
+ const customTheme = useMemo11(() => {
28025
28031
  if (!config.current?.wallet?.enabled) return {};
28026
28032
  return colorMode === "dark" ? {
28027
28033
  ...darkTheme(),
@@ -28035,8 +28041,8 @@ function RainbowKitProvider({ children }) {
28035
28041
  radii: rainbowTheme.lightMode.radii
28036
28042
  };
28037
28043
  }, [colorMode]);
28038
- if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx123(Fragment48, { children });
28039
- return /* @__PURE__ */ jsx123(WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ jsx123(NativeRainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
28044
+ if (!config.current?.wallet?.enabled) return /* @__PURE__ */ jsx124(Fragment47, { children });
28045
+ return /* @__PURE__ */ jsx124(WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ jsx124(NativeRainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
28040
28046
  }
28041
28047
  var init_RainbowKitContext = __esm({
28042
28048
  "src/context/RainbowKitContext.tsx"() {
@@ -28102,13 +28108,13 @@ var init_wagmi = __esm({
28102
28108
 
28103
28109
  // src/context/WagmiContext.tsx
28104
28110
  import { WagmiProvider as NativeWagmiProvider } from "wagmi";
28105
- import { jsx as jsx124 } from "react/jsx-runtime";
28111
+ import { jsx as jsx125 } from "react/jsx-runtime";
28106
28112
  var WagmiProvider2;
28107
28113
  var init_WagmiContext = __esm({
28108
28114
  "src/context/WagmiContext.tsx"() {
28109
28115
  init_wagmi();
28110
28116
  WagmiProvider2 = ({ children }) => {
28111
- return /* @__PURE__ */ jsx124(NativeWagmiProvider, { config: wagmiConfig, children });
28117
+ return /* @__PURE__ */ jsx125(NativeWagmiProvider, { config: wagmiConfig, children });
28112
28118
  };
28113
28119
  }
28114
28120
  });
@@ -28121,10 +28127,10 @@ import {
28121
28127
  useCallback as useCallback30,
28122
28128
  useContext,
28123
28129
  useEffect as useEffect50,
28124
- useMemo as useMemo10,
28130
+ useMemo as useMemo12,
28125
28131
  useRef as useRef21
28126
28132
  } from "react";
28127
- import { jsx as jsx125 } from "react/jsx-runtime";
28133
+ import { jsx as jsx126 } from "react/jsx-runtime";
28128
28134
  function clearLegacyWagmiStorage() {
28129
28135
  if (typeof window === "undefined" || !window.localStorage) return;
28130
28136
  const legacyKeys = [
@@ -28234,7 +28240,7 @@ function Provider(props) {
28234
28240
  console.error("[PROVIDER] Error setting up iframe manager:", error);
28235
28241
  }
28236
28242
  }, [projectId]);
28237
- const contextValue = useMemo10(
28243
+ const contextValue = useMemo12(
28238
28244
  () => ({
28239
28245
  config,
28240
28246
  updateConfig,
@@ -28246,8 +28252,8 @@ function Provider(props) {
28246
28252
  [config, updateConfig, callbacks, updateCallbacks]
28247
28253
  );
28248
28254
  if (!!initialConfig?.wallet?.enabled)
28249
- return /* @__PURE__ */ jsx125(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx125(RainbowKitProvider, { children: /* @__PURE__ */ jsx125(SessionProvider, { children }) }) });
28250
- return /* @__PURE__ */ jsx125(WagmiProvider2, { children: /* @__PURE__ */ jsx125(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx125(SessionProvider, { children }) }) });
28255
+ return /* @__PURE__ */ jsx126(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx126(RainbowKitProvider, { children: /* @__PURE__ */ jsx126(SessionProvider, { children }) }) });
28256
+ return /* @__PURE__ */ jsx126(WagmiProvider2, { children: /* @__PURE__ */ jsx126(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx126(SessionProvider, { children }) }) });
28251
28257
  }
28252
28258
  var UIContext, useProviderConfig;
28253
28259
  var init_ProviderContext = __esm({
@@ -28268,7 +28274,7 @@ var init_ProviderContext = __esm({
28268
28274
  });
28269
28275
 
28270
28276
  // src/styles/built.css
28271
- 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 .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.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-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-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 .mt-\\[var\\(--ui-kit-gap\\)\\]{margin-top:var(--ui-kit-gap)}.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 .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-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-2{height:.5rem}.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-64{max-height:16rem}.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 .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-2{width:.5rem}.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-72{width:18rem}.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-\\[80px\\]{max-width:80px}.embarkai-ui-scope .max-w-\\[calc\\(50\\%-12px\\)\\]{max-width:calc(50% - 12px)}.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 .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .rotate-180,.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-not-allowed{cursor:not-allowed}.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-1\\.5{gap:.375rem}.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-\\[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-accent\\)\\]{background-color:var(--ui-kit-accent)}.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-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.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-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 .tracking-wider{letter-spacing:.05em}.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 .opacity-70{opacity:.7}.embarkai-ui-scope .opacity-75{opacity:.75}.embarkai-ui-scope .opacity-90{opacity:.9}.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 .transition-transform{transition-property:transform;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}.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-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.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-100:hover{opacity:1}.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 .md\\:text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .md\\:text-xs{font-size:.75rem;line-height:1rem}}.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}`;
28277
+ 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 .sticky{position:sticky}.embarkai-ui-scope .inset-0{inset:0}.embarkai-ui-scope .-right-0\\.5{right:-.125rem}.embarkai-ui-scope .-right-1{right:-.25rem}.embarkai-ui-scope .-right-2{right:-.5rem}.embarkai-ui-scope .-top-0\\.5{top:-.125rem}.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-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-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-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-2{height:.5rem}.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-64{max-height:16rem}.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 .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-2{width:.5rem}.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-72{width:18rem}.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-\\[80px\\]{max-width:80px}.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 .rotate-180{--tw-rotate:180deg}.embarkai-ui-scope .rotate-180,.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-not-allowed{cursor:not-allowed}.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-1\\.5{gap:.375rem}.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-\\[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-accent\\)\\]{background-color:var(--ui-kit-accent)}.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-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.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-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 .tracking-wider{letter-spacing:.05em}.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 .opacity-70{opacity:.7}.embarkai-ui-scope .opacity-90{opacity:.9}.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 .transition-transform{transition-property:transform;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}.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-bg-secondary\\)\\]:hover{background-color:var(--ui-kit-bg-secondary)}.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-100:hover{opacity:1}.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 .md\\:text-sm{font-size:.875rem;line-height:1.25rem}.embarkai-ui-scope .md\\:text-xs{font-size:.75rem;line-height:1rem}}.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}`;
28272
28278
 
28273
28279
  // src/index.ts
28274
28280
  init_ProviderContext();
@@ -28287,8 +28293,8 @@ init_pro_mode();
28287
28293
  init_utils2();
28288
28294
  import { useQuery as useQuery28 } from "@tanstack/react-query";
28289
28295
  import { Cloud as Cloud4, Laptop as Laptop2, Loader as Loader37, Shield as Shield3 } from "lucide-react";
28290
- import { useEffect as useEffect51, useMemo as useMemo11 } from "react";
28291
- import { Fragment as Fragment49, jsx as jsx126, jsxs as jsxs110 } from "react/jsx-runtime";
28296
+ import { useEffect as useEffect51, useMemo as useMemo13 } from "react";
28297
+ import { Fragment as Fragment48, jsx as jsx127, jsxs as jsxs110 } from "react/jsx-runtime";
28292
28298
  function getFormattedStatus(label, status, showStatus) {
28293
28299
  const isStatus = showStatus && status && status !== "idle" && status !== "ready";
28294
28300
  if (!isStatus) return label;
@@ -28315,7 +28321,7 @@ function ConnectWalletButton(props) {
28315
28321
  queryFn: getUserProfile
28316
28322
  });
28317
28323
  const displayName = profile?.nicknameDisplay || profile?.displayName || jwtTokenManager2.getDisplayName();
28318
- const indicators = useMemo11(() => {
28324
+ const indicators = useMemo13(() => {
28319
28325
  const userId = session?.mpcUserId;
28320
28326
  if (!userId) return { server: false, local: false, backup: false };
28321
28327
  const server = jwtTokenManager2.getHasKeyshare() ?? false;
@@ -28324,16 +28330,16 @@ function ConnectWalletButton(props) {
28324
28330
  }, [session, address, hasServerVault]);
28325
28331
  const proMode = useProMode();
28326
28332
  const isConnecting = connectButtonLabel !== label || isLoading;
28327
- return /* @__PURE__ */ jsx126("div", { "data-current-theme-mode": colorMode, className: cn("embarkai-ui-scope w-fit h-fit", className), children: !address ? (
28333
+ return /* @__PURE__ */ jsx127("div", { "data-current-theme-mode": colorMode, className: cn("embarkai-ui-scope w-fit h-fit", className), children: !address ? (
28328
28334
  /** external Buttons can be provided */
28329
- /* @__PURE__ */ jsx126(Fragment49, { children: ConnectButton ? /* @__PURE__ */ jsxs110(
28335
+ /* @__PURE__ */ jsx127(Fragment48, { children: ConnectButton ? /* @__PURE__ */ jsxs110(
28330
28336
  ConnectButton,
28331
28337
  {
28332
28338
  type: "button",
28333
28339
  disabled: isConnecting,
28334
28340
  onClick: () => setPage("auth" /* AUTH */),
28335
28341
  children: [
28336
- isConnecting && /* @__PURE__ */ jsx126(Loader37, { className: "w-4 h-4 animate-spin" }),
28342
+ isConnecting && /* @__PURE__ */ jsx127(Loader37, { className: "w-4 h-4 animate-spin" }),
28337
28343
  connectButtonLabel
28338
28344
  ]
28339
28345
  }
@@ -28354,7 +28360,7 @@ function ConnectWalletButton(props) {
28354
28360
  "disabled:hover:bg-[var(--ui-kit-bg)] disabled:active:bg-[var(--ui-kit-bg)]"
28355
28361
  ),
28356
28362
  children: [
28357
- isConnecting && /* @__PURE__ */ jsx126(Loader37, { className: "w-4 h-4 animate-spin" }),
28363
+ isConnecting && /* @__PURE__ */ jsx127(Loader37, { className: "w-4 h-4 animate-spin" }),
28358
28364
  connectButtonLabel.toUpperCase()
28359
28365
  ]
28360
28366
  }
@@ -28373,19 +28379,19 @@ function ConnectWalletButton(props) {
28373
28379
  ),
28374
28380
  children: [
28375
28381
  /* @__PURE__ */ jsxs110("div", { className: "relative w-12 h-12 rounded-full bg-[var(--ui-kit-fg)] flex items-center justify-center flex-shrink-0", children: [
28376
- proMode && /* @__PURE__ */ jsx126("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3 z-10", children: "PRO" }),
28377
- profile?.avatar ? /* @__PURE__ */ jsx126("img", { src: profile.avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx126(LumiaIcon3, { width: 48, height: 48 })
28382
+ proMode && /* @__PURE__ */ jsx127("span", { className: "absolute -top-1 -right-1 text-[8px] font-bold px-1 rounded bg-[var(--ui-kit-primary)] text-[var(--ui-kit-fg-inverted)] leading-3 z-10", children: "PRO" }),
28383
+ profile?.avatar ? /* @__PURE__ */ jsx127("img", { src: profile.avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ jsx127(LumiaIcon3, { width: 48, height: 48 })
28378
28384
  ] }),
28379
28385
  /* @__PURE__ */ jsxs110("div", { className: "text-left flex-1 min-w-0 text-[var(--ui-kit-fg)]", children: [
28380
28386
  /* @__PURE__ */ jsxs110("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
28381
- isProfileLoading ? /* @__PURE__ */ jsx126(Loader37, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx126("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--ui-kit-fg)]", children: displayName }),
28382
- !isProfileLoading && /* @__PURE__ */ jsx126(KYCStatus, {})
28387
+ isProfileLoading ? /* @__PURE__ */ jsx127(Loader37, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ jsx127("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--ui-kit-fg)]", children: displayName }),
28388
+ !isProfileLoading && /* @__PURE__ */ jsx127(KYCStatus, {})
28383
28389
  ] }),
28384
- /* @__PURE__ */ jsx126(BalanceView, {})
28390
+ /* @__PURE__ */ jsx127(BalanceView, {})
28385
28391
  ] }),
28386
28392
  /* @__PURE__ */ jsxs110("div", { className: "flex items-center space-x-1", children: [
28387
28393
  /* @__PURE__ */ jsxs110("div", { className: "group relative", children: [
28388
- /* @__PURE__ */ jsx126(
28394
+ /* @__PURE__ */ jsx127(
28389
28395
  Cloud4,
28390
28396
  {
28391
28397
  className: `w-3 h-3 ${indicators.server ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
@@ -28407,7 +28413,7 @@ function ConnectWalletButton(props) {
28407
28413
  )
28408
28414
  ] }),
28409
28415
  /* @__PURE__ */ jsxs110("div", { className: "group relative", children: [
28410
- /* @__PURE__ */ jsx126(
28416
+ /* @__PURE__ */ jsx127(
28411
28417
  Laptop2,
28412
28418
  {
28413
28419
  className: `w-3 h-3 ${indicators.local ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
@@ -28429,7 +28435,7 @@ function ConnectWalletButton(props) {
28429
28435
  )
28430
28436
  ] }),
28431
28437
  /* @__PURE__ */ jsxs110("div", { className: "group relative", children: [
28432
- /* @__PURE__ */ jsx126(
28438
+ /* @__PURE__ */ jsx127(
28433
28439
  Shield3,
28434
28440
  {
28435
28441
  className: `w-3 h-3 ${indicators.backup ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
@@ -28451,7 +28457,7 @@ function ConnectWalletButton(props) {
28451
28457
  )
28452
28458
  ] })
28453
28459
  ] }),
28454
- !!settingsNotifications.length && /* @__PURE__ */ jsx126(
28460
+ !!settingsNotifications.length && /* @__PURE__ */ jsx127(
28455
28461
  "div",
28456
28462
  {
28457
28463
  className: cn(
@@ -28529,24 +28535,24 @@ init_useColorMode();
28529
28535
  init_button();
28530
28536
  init_utils2();
28531
28537
  import { Moon, Sun } from "lucide-react";
28532
- import { jsx as jsx127 } from "react/jsx-runtime";
28538
+ import { jsx as jsx128 } from "react/jsx-runtime";
28533
28539
  function ThemeToggle(props) {
28534
28540
  const { className, ...btnProps } = props;
28535
28541
  const { colorMode, setColorMode } = useColorMode();
28536
- return /* @__PURE__ */ jsx127(
28542
+ return /* @__PURE__ */ jsx128(
28537
28543
  "div",
28538
28544
  {
28539
28545
  className: cn("embarkai-ui-scope", className),
28540
28546
  "data-current-theme-mode": colorMode,
28541
28547
  style: { width: "fit-content", height: "fit-content" },
28542
- children: /* @__PURE__ */ jsx127(
28548
+ children: /* @__PURE__ */ jsx128(
28543
28549
  Button,
28544
28550
  {
28545
28551
  ...btnProps,
28546
28552
  variant: "ghost",
28547
28553
  onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
28548
28554
  title: `Current theme: ${colorMode}. Click to switch.`,
28549
- children: colorMode === "dark" ? /* @__PURE__ */ jsx127(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx127(Moon, { className: "w-4 h-4" })
28555
+ children: colorMode === "dark" ? /* @__PURE__ */ jsx128(Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ jsx128(Moon, { className: "w-4 h-4" })
28550
28556
  }
28551
28557
  )
28552
28558
  }
@@ -28558,18 +28564,18 @@ init_i18n();
28558
28564
  init_button();
28559
28565
  init_useLayoutDataStore();
28560
28566
  init_utils2();
28561
- import { jsx as jsx128 } from "react/jsx-runtime";
28567
+ import { jsx as jsx129 } from "react/jsx-runtime";
28562
28568
  function LangToggle(props) {
28563
28569
  const { className, ...btnProps } = props;
28564
28570
  const { i18n } = useT();
28565
28571
  const setPage = useLayoutDataStore((st) => st.setPage);
28566
- return /* @__PURE__ */ jsx128(
28572
+ return /* @__PURE__ */ jsx129(
28567
28573
  "div",
28568
28574
  {
28569
28575
  className: cn("embarkai-ui-scope", className),
28570
28576
  "data-mbark-language": i18n.resolvedLanguage || "en",
28571
28577
  style: { width: "fit-content", height: "fit-content" },
28572
- children: /* @__PURE__ */ jsx128(
28578
+ children: /* @__PURE__ */ jsx129(
28573
28579
  Button,
28574
28580
  {
28575
28581
  ...btnProps,
@@ -28587,18 +28593,94 @@ function LangToggle(props) {
28587
28593
  init_useLayoutDataStore();
28588
28594
 
28589
28595
  // src/internal/components/UserOpStatus.tsx
28590
- init_getUserOperationByHash();
28591
- init_getUserOperationReceipt();
28592
- init_cn();
28593
28596
  import { AlertCircle as AlertCircle8, CheckCircle2 as CheckCircle27, Clock as Clock2, Copy as Copy7, ExternalLink as ExternalLink3, RefreshCw as RefreshCw4 } from "lucide-react";
28594
28597
  import * as React12 from "react";
28595
28598
 
28599
+ // src/clients/bundler/getUserOperationByHash.ts
28600
+ init_SessionContext();
28601
+ import { bundlerRpc } from "@embarkai/core";
28602
+ import { getChainConfig as getChainConfig11 } from "@embarkai/core/read";
28603
+ async function getUserOperationByHash(userOpHash, chainId) {
28604
+ const targetChainId = chainId ?? requireActiveChainId();
28605
+ const chainConfig = getChainConfig11(targetChainId);
28606
+ if (!chainConfig) {
28607
+ throw new Error(`Chain ${targetChainId} is not supported`);
28608
+ }
28609
+ if (!chainConfig.bundlerUrl) {
28610
+ throw new Error(`Chain ${targetChainId} has no bundlerUrl configured`);
28611
+ }
28612
+ if (!userOpHash) {
28613
+ throw new Error("Operation hash is required");
28614
+ }
28615
+ try {
28616
+ const result = await bundlerRpc("eth_getUserOperationByHash", [userOpHash], chainConfig.bundlerUrl);
28617
+ if (!result) {
28618
+ return null;
28619
+ }
28620
+ console.log("[getUserOperationByHash] Receipt:", JSON.stringify(result, null, 2));
28621
+ return {
28622
+ entryPoint: result.entryPoint,
28623
+ userOperation: result.userOperation,
28624
+ transactionHash: result.transactionHash,
28625
+ blockNumber: result.blockNumber,
28626
+ blockHash: result.blockHash
28627
+ };
28628
+ } catch (error) {
28629
+ console.warn("[getUserOperationByHash] Failed to get user operation:", error);
28630
+ return null;
28631
+ }
28632
+ }
28633
+
28634
+ // src/clients/bundler/getUserOperationReceipt.ts
28635
+ init_SessionContext();
28636
+ import { bundlerRpc as bundlerRpc2 } from "@embarkai/core";
28637
+ import { getChainConfig as getChainConfig12 } from "@embarkai/core/read";
28638
+ async function getUserOperationReceipt(userOpHash, chainId) {
28639
+ const targetChainId = chainId ?? requireActiveChainId();
28640
+ const chainConfig = getChainConfig12(targetChainId);
28641
+ if (!chainConfig) {
28642
+ throw new Error(`Chain ${targetChainId} is not supported`);
28643
+ }
28644
+ if (!chainConfig.bundlerUrl) {
28645
+ throw new Error(`Chain ${targetChainId} has no bundlerUrl configured`);
28646
+ }
28647
+ if (!userOpHash) {
28648
+ throw new Error("Operation hash is required");
28649
+ }
28650
+ try {
28651
+ const result = await bundlerRpc2("eth_getUserOperationReceipt", [userOpHash], chainConfig.bundlerUrl);
28652
+ if (!result) {
28653
+ return null;
28654
+ }
28655
+ console.log("[getUserOperationReceipt] Receipt:", JSON.stringify(result, null, 2));
28656
+ return {
28657
+ userOpHash: result.userOpHash,
28658
+ entryPoint: result.entryPoint,
28659
+ sender: result.sender,
28660
+ nonce: result.nonce,
28661
+ success: result.success,
28662
+ actualGasCost: result.actualGasCost,
28663
+ actualGasUsed: result.actualGasUsed,
28664
+ paymaster: result.paymaster,
28665
+ receipt: result.receipt,
28666
+ logs: result.logs,
28667
+ reason: result.reason
28668
+ };
28669
+ } catch (error) {
28670
+ console.warn("[getUserOperationReceipt] Failed to get receipt:", error);
28671
+ return null;
28672
+ }
28673
+ }
28674
+
28675
+ // src/internal/components/UserOpStatus.tsx
28676
+ init_cn();
28677
+
28596
28678
  // src/internal/components/Address.tsx
28597
28679
  init_cn();
28598
28680
  init_button();
28599
28681
  import { Copy as Copy6, ExternalLink as ExternalLink2 } from "lucide-react";
28600
28682
  import * as React11 from "react";
28601
- import { jsx as jsx129, jsxs as jsxs111 } from "react/jsx-runtime";
28683
+ import { jsx as jsx130, jsxs as jsxs111 } from "react/jsx-runtime";
28602
28684
  function toExplorerAddressUrl(address, chain) {
28603
28685
  const base2 = chain?.blockExplorers?.default?.url;
28604
28686
  if (!base2) return null;
@@ -28620,11 +28702,11 @@ var Address = ({
28620
28702
  const addr = address || "";
28621
28703
  const explorer = toExplorerAddressUrl(addr, chain || void 0);
28622
28704
  const [copied, setCopied] = React11.useState(false);
28623
- if (!addr) return /* @__PURE__ */ jsx129("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
28705
+ if (!addr) return /* @__PURE__ */ jsx130("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
28624
28706
  return /* @__PURE__ */ jsxs111("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
28625
- label && /* @__PURE__ */ jsx129("span", { className: "text-sm font-medium", children: label }),
28626
- /* @__PURE__ */ jsx129("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
28627
- showCopy && /* @__PURE__ */ jsx129(
28707
+ label && /* @__PURE__ */ jsx130("span", { className: "text-sm font-medium", children: label }),
28708
+ /* @__PURE__ */ jsx130("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
28709
+ showCopy && /* @__PURE__ */ jsx130(
28628
28710
  Button,
28629
28711
  {
28630
28712
  variant: "ghost",
@@ -28638,10 +28720,10 @@ var Address = ({
28638
28720
  } catch {
28639
28721
  }
28640
28722
  },
28641
- children: /* @__PURE__ */ jsx129(Copy6, { className: "h-4 w-4" })
28723
+ children: /* @__PURE__ */ jsx130(Copy6, { className: "h-4 w-4" })
28642
28724
  }
28643
28725
  ),
28644
- showExplorer && explorer && /* @__PURE__ */ jsx129(
28726
+ showExplorer && explorer && /* @__PURE__ */ jsx130(
28645
28727
  "a",
28646
28728
  {
28647
28729
  href: explorer,
@@ -28649,7 +28731,7 @@ var Address = ({
28649
28731
  rel: "noreferrer noopener",
28650
28732
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
28651
28733
  title: "Open in explorer",
28652
- children: /* @__PURE__ */ jsx129(ExternalLink2, { className: "h-4 w-4" })
28734
+ children: /* @__PURE__ */ jsx130(ExternalLink2, { className: "h-4 w-4" })
28653
28735
  }
28654
28736
  )
28655
28737
  ] });
@@ -28658,7 +28740,7 @@ var Address = ({
28658
28740
  // src/internal/components/UserOpStatus.tsx
28659
28741
  init_badge();
28660
28742
  init_button();
28661
- import { jsx as jsx130, jsxs as jsxs112 } from "react/jsx-runtime";
28743
+ import { jsx as jsx131, jsxs as jsxs112 } from "react/jsx-runtime";
28662
28744
  var UserOpStatus = ({
28663
28745
  userOpHash,
28664
28746
  chain,
@@ -28774,30 +28856,30 @@ var UserOpStatus = ({
28774
28856
  if (receipt) {
28775
28857
  const ok = !!receipt.success;
28776
28858
  return /* @__PURE__ */ jsxs112(Badge, { variant: ok ? "success" : "destructive", children: [
28777
- ok ? /* @__PURE__ */ jsx130(CheckCircle27, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-3 w-3" }),
28859
+ ok ? /* @__PURE__ */ jsx131(CheckCircle27, { className: "h-3 w-3" }) : /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-3 w-3" }),
28778
28860
  ok ? "Included" : "Failed"
28779
28861
  ] });
28780
28862
  }
28781
28863
  if (rejected) {
28782
28864
  return /* @__PURE__ */ jsxs112(Badge, { variant: "destructive", children: [
28783
- /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-3 w-3" }),
28865
+ /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-3 w-3" }),
28784
28866
  " Rejected by bundler"
28785
28867
  ] });
28786
28868
  }
28787
28869
  if (timedOut) {
28788
28870
  return /* @__PURE__ */ jsxs112(Badge, { variant: "warning", children: [
28789
- /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-3 w-3" }),
28871
+ /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-3 w-3" }),
28790
28872
  " Timeout - may be rejected"
28791
28873
  ] });
28792
28874
  }
28793
28875
  if (mempool) {
28794
28876
  return /* @__PURE__ */ jsxs112(Badge, { variant: "outline", children: [
28795
- /* @__PURE__ */ jsx130(Clock2, { className: "h-3 w-3" }),
28877
+ /* @__PURE__ */ jsx131(Clock2, { className: "h-3 w-3" }),
28796
28878
  " Pending in bundler"
28797
28879
  ] });
28798
28880
  }
28799
28881
  return /* @__PURE__ */ jsxs112(Badge, { variant: "secondary", children: [
28800
- /* @__PURE__ */ jsx130(Clock2, { className: "h-3 w-3" }),
28882
+ /* @__PURE__ */ jsx131(Clock2, { className: "h-3 w-3" }),
28801
28883
  " Waiting"
28802
28884
  ] });
28803
28885
  };
@@ -28813,17 +28895,17 @@ var UserOpStatus = ({
28813
28895
  /* @__PURE__ */ jsxs112("div", { className: "flex items-center justify-between mb-3", children: [
28814
28896
  /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-2", children: [
28815
28897
  stateBadge(),
28816
- /* @__PURE__ */ jsx130("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
28898
+ /* @__PURE__ */ jsx131("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
28817
28899
  ] }),
28818
28900
  /* @__PURE__ */ jsxs112(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
28819
- /* @__PURE__ */ jsx130(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
28820
- /* @__PURE__ */ jsx130("span", { className: "text-xs", children: "Refresh" })
28901
+ /* @__PURE__ */ jsx131(RefreshCw4, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
28902
+ /* @__PURE__ */ jsx131("span", { className: "text-xs", children: "Refresh" })
28821
28903
  ] })
28822
28904
  ] }),
28823
28905
  /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-2 mb-2", children: [
28824
- /* @__PURE__ */ jsx130("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
28825
- /* @__PURE__ */ jsx130("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
28826
- /* @__PURE__ */ jsx130(
28906
+ /* @__PURE__ */ jsx131("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
28907
+ /* @__PURE__ */ jsx131("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
28908
+ /* @__PURE__ */ jsx131(
28827
28909
  Button,
28828
28910
  {
28829
28911
  variant: "ghost",
@@ -28835,14 +28917,14 @@ var UserOpStatus = ({
28835
28917
  } catch {
28836
28918
  }
28837
28919
  },
28838
- children: /* @__PURE__ */ jsx130(Copy7, { className: "h-3.5 w-3.5" })
28920
+ children: /* @__PURE__ */ jsx131(Copy7, { className: "h-3.5 w-3.5" })
28839
28921
  }
28840
28922
  )
28841
28923
  ] }),
28842
28924
  receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ jsxs112("div", { className: "flex items-center gap-2 mb-3", children: [
28843
- /* @__PURE__ */ jsx130("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
28844
- /* @__PURE__ */ jsx130("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
28845
- /* @__PURE__ */ jsx130(
28925
+ /* @__PURE__ */ jsx131("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
28926
+ /* @__PURE__ */ jsx131("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
28927
+ /* @__PURE__ */ jsx131(
28846
28928
  Button,
28847
28929
  {
28848
28930
  variant: "ghost",
@@ -28854,10 +28936,10 @@ var UserOpStatus = ({
28854
28936
  } catch {
28855
28937
  }
28856
28938
  },
28857
- children: /* @__PURE__ */ jsx130(Copy7, { className: "h-3.5 w-3.5" })
28939
+ children: /* @__PURE__ */ jsx131(Copy7, { className: "h-3.5 w-3.5" })
28858
28940
  }
28859
28941
  ),
28860
- chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx130(
28942
+ chain?.blockExplorers?.default?.url && /* @__PURE__ */ jsx131(
28861
28943
  "a",
28862
28944
  {
28863
28945
  href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
@@ -28865,7 +28947,7 @@ var UserOpStatus = ({
28865
28947
  rel: "noreferrer noopener",
28866
28948
  className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
28867
28949
  title: "Open in explorer",
28868
- children: /* @__PURE__ */ jsx130(ExternalLink3, { className: "h-3.5 w-3.5" })
28950
+ children: /* @__PURE__ */ jsx131(ExternalLink3, { className: "h-3.5 w-3.5" })
28869
28951
  }
28870
28952
  )
28871
28953
  ] }),
@@ -28878,7 +28960,7 @@ var UserOpStatus = ({
28878
28960
  " \u2022 Success ",
28879
28961
  String(!!receipt.success)
28880
28962
  ] }),
28881
- /* @__PURE__ */ jsx130("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs112("span", { className: "ml-2", children: [
28963
+ /* @__PURE__ */ jsx131("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ jsxs112("span", { className: "ml-2", children: [
28882
28964
  "\u2022 Polling for ",
28883
28965
  Math.round((Date.now() - startTimeRef.current) / 1e3),
28884
28966
  "s"
@@ -28886,24 +28968,24 @@ var UserOpStatus = ({
28886
28968
  mempool && /* @__PURE__ */ jsxs112("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
28887
28969
  /* @__PURE__ */ jsxs112("div", { children: [
28888
28970
  "Seen by bundler at ",
28889
- /* @__PURE__ */ jsx130(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
28971
+ /* @__PURE__ */ jsx131(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
28890
28972
  ] }),
28891
28973
  /* @__PURE__ */ jsxs112("div", { children: [
28892
28974
  "sender ",
28893
- /* @__PURE__ */ jsx130(Address, { address: mempool.sender, chain, truncate: false })
28975
+ /* @__PURE__ */ jsx131(Address, { address: mempool.sender, chain, truncate: false })
28894
28976
  ] })
28895
28977
  ] }),
28896
28978
  error && /* @__PURE__ */ jsxs112("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
28897
- /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-4 w-4" }),
28979
+ /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-4 w-4" }),
28898
28980
  " ",
28899
28981
  error
28900
28982
  ] }),
28901
28983
  rejected && /* @__PURE__ */ jsxs112("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
28902
- /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-4 w-4" }),
28984
+ /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-4 w-4" }),
28903
28985
  "UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
28904
28986
  ] }),
28905
28987
  timedOut && /* @__PURE__ */ jsxs112("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
28906
- /* @__PURE__ */ jsx130(AlertCircle8, { className: "h-4 w-4" }),
28988
+ /* @__PURE__ */ jsx131(AlertCircle8, { className: "h-4 w-4" }),
28907
28989
  "Stopped polling after ",
28908
28990
  Math.round(maxPollTimeMs / 1e3),
28909
28991
  "s. UserOperation may have been rejected by the bundler."
@@ -28918,7 +29000,7 @@ init_cn();
28918
29000
  init_button();
28919
29001
  import { Copy as Copy8, ExternalLink as ExternalLink4 } from "lucide-react";
28920
29002
  import * as React13 from "react";
28921
- import { jsx as jsx131, jsxs as jsxs113 } from "react/jsx-runtime";
29003
+ import { jsx as jsx132, jsxs as jsxs113 } from "react/jsx-runtime";
28922
29004
  function toExplorerUrl(kind, value, chain) {
28923
29005
  const base2 = chain?.blockExplorers?.default?.url;
28924
29006
  if (!base2) return null;
@@ -28942,11 +29024,11 @@ var Hash = ({
28942
29024
  const value = hash || "";
28943
29025
  const explorer = toExplorerUrl(kind, value, chain || void 0);
28944
29026
  const [copied, setCopied] = React13.useState(false);
28945
- if (!value) return /* @__PURE__ */ jsx131("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
29027
+ if (!value) return /* @__PURE__ */ jsx132("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
28946
29028
  return /* @__PURE__ */ jsxs113("div", { className: cn2("flex items-center gap-2", className), children: [
28947
- label && /* @__PURE__ */ jsx131("span", { className: "text-sm font-medium", children: label }),
28948
- /* @__PURE__ */ jsx131("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
28949
- showCopy && /* @__PURE__ */ jsx131(
29029
+ label && /* @__PURE__ */ jsx132("span", { className: "text-sm font-medium", children: label }),
29030
+ /* @__PURE__ */ jsx132("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
29031
+ showCopy && /* @__PURE__ */ jsx132(
28950
29032
  Button,
28951
29033
  {
28952
29034
  variant: "ghost",
@@ -28960,10 +29042,10 @@ var Hash = ({
28960
29042
  } catch {
28961
29043
  }
28962
29044
  },
28963
- children: /* @__PURE__ */ jsx131(Copy8, { className: "h-4 w-4" })
29045
+ children: /* @__PURE__ */ jsx132(Copy8, { className: "h-4 w-4" })
28964
29046
  }
28965
29047
  ),
28966
- showExplorer && explorer && /* @__PURE__ */ jsx131(
29048
+ showExplorer && explorer && /* @__PURE__ */ jsx132(
28967
29049
  "a",
28968
29050
  {
28969
29051
  href: explorer,
@@ -28971,7 +29053,7 @@ var Hash = ({
28971
29053
  rel: "noreferrer noopener",
28972
29054
  className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
28973
29055
  title: "Open in explorer",
28974
- children: /* @__PURE__ */ jsx131(ExternalLink4, { className: "h-4 w-4" })
29056
+ children: /* @__PURE__ */ jsx132(ExternalLink4, { className: "h-4 w-4" })
28975
29057
  }
28976
29058
  )
28977
29059
  ] });
@@ -28979,12 +29061,12 @@ var Hash = ({
28979
29061
 
28980
29062
  // src/internal/components/TransactionsMenu/TransactionsList.tsx
28981
29063
  init_base();
28982
- import { useEffect as useEffect53, useState as useState36 } from "react";
28983
- import { jsx as jsx132, jsxs as jsxs114 } from "react/jsx-runtime";
29064
+ import { useEffect as useEffect53, useState as useState37 } from "react";
29065
+ import { jsx as jsx133, jsxs as jsxs114 } from "react/jsx-runtime";
28984
29066
  var TransactionsList = ({ address, itemsCount = 10 }) => {
28985
- const [transactions, setTransactions] = useState36([]);
28986
- const [loading, setLoading] = useState36(true);
28987
- const [error, setError] = useState36(null);
29067
+ const [transactions, setTransactions] = useState37([]);
29068
+ const [loading, setLoading] = useState37(true);
29069
+ const [error, setError] = useState37(null);
28988
29070
  useEffect53(() => {
28989
29071
  const fetchTransactions2 = async () => {
28990
29072
  try {
@@ -29032,20 +29114,20 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
29032
29114
  };
29033
29115
  if (loading) {
29034
29116
  return /* @__PURE__ */ jsxs114("div", { className: "p-4 text-center", children: [
29035
- /* @__PURE__ */ jsx132("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
29036
- /* @__PURE__ */ jsx132("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
29117
+ /* @__PURE__ */ jsx133("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
29118
+ /* @__PURE__ */ jsx133("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
29037
29119
  ] });
29038
29120
  }
29039
29121
  if (error) {
29040
29122
  return /* @__PURE__ */ jsxs114("div", { className: "p-4 text-center", children: [
29041
- /* @__PURE__ */ jsx132("p", { className: "text-red-600 text-sm", children: error }),
29042
- /* @__PURE__ */ jsx132("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
29123
+ /* @__PURE__ */ jsx133("p", { className: "text-red-600 text-sm", children: error }),
29124
+ /* @__PURE__ */ jsx133("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
29043
29125
  ] });
29044
29126
  }
29045
29127
  if (transactions.length === 0) {
29046
- return /* @__PURE__ */ jsx132("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx132("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
29128
+ return /* @__PURE__ */ jsx133("div", { className: "p-4 text-center", children: /* @__PURE__ */ jsx133("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
29047
29129
  }
29048
- return /* @__PURE__ */ jsx132("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx132("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs114(
29130
+ return /* @__PURE__ */ jsx133("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ jsx133("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ jsxs114(
29049
29131
  "div",
29050
29132
  {
29051
29133
  className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
@@ -29054,8 +29136,8 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
29054
29136
  /* @__PURE__ */ jsxs114("div", { className: "flex justify-between items-start mb-2", children: [
29055
29137
  /* @__PURE__ */ jsxs114("div", { className: "flex-1", children: [
29056
29138
  /* @__PURE__ */ jsxs114("div", { className: "flex items-center space-x-2 mb-1", children: [
29057
- /* @__PURE__ */ jsx132("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
29058
- /* @__PURE__ */ jsx132(
29139
+ /* @__PURE__ */ jsx133("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
29140
+ /* @__PURE__ */ jsx133(
29059
29141
  "span",
29060
29142
  {
29061
29143
  className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
@@ -29065,21 +29147,21 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
29065
29147
  ] }),
29066
29148
  /* @__PURE__ */ jsxs114("div", { className: "text-sm space-y-1", children: [
29067
29149
  /* @__PURE__ */ jsxs114("div", { children: [
29068
- /* @__PURE__ */ jsx132("span", { className: "text-gray-600", children: "From:" }),
29150
+ /* @__PURE__ */ jsx133("span", { className: "text-gray-600", children: "From:" }),
29069
29151
  /* @__PURE__ */ jsxs114("span", { className: "font-mono ml-1", children: [
29070
29152
  formatAddress3(tx.from.hash),
29071
- tx.from.is_contract && /* @__PURE__ */ jsx132("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
29153
+ tx.from.is_contract && /* @__PURE__ */ jsx133("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
29072
29154
  ] })
29073
29155
  ] }),
29074
29156
  /* @__PURE__ */ jsxs114("div", { children: [
29075
- /* @__PURE__ */ jsx132("span", { className: "text-gray-600", children: "To:" }),
29157
+ /* @__PURE__ */ jsx133("span", { className: "text-gray-600", children: "To:" }),
29076
29158
  /* @__PURE__ */ jsxs114("span", { className: "font-mono ml-1", children: [
29077
29159
  formatAddress3(tx.to.hash),
29078
- tx.to.is_contract && /* @__PURE__ */ jsx132("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
29160
+ tx.to.is_contract && /* @__PURE__ */ jsx133("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
29079
29161
  ] })
29080
29162
  ] }),
29081
29163
  /* @__PURE__ */ jsxs114("div", { children: [
29082
- /* @__PURE__ */ jsx132("span", { className: "text-gray-600", children: "Value:" }),
29164
+ /* @__PURE__ */ jsx133("span", { className: "text-gray-600", children: "Value:" }),
29083
29165
  /* @__PURE__ */ jsxs114("span", { className: "font-semibold ml-1", children: [
29084
29166
  formatValue3(tx.value),
29085
29167
  " LUMIA"
@@ -29088,15 +29170,15 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
29088
29170
  ] })
29089
29171
  ] }),
29090
29172
  /* @__PURE__ */ jsxs114("div", { className: "text-right text-xs text-gray-500", children: [
29091
- /* @__PURE__ */ jsx132("div", { children: formatDate2(tx.timestamp) }),
29173
+ /* @__PURE__ */ jsx133("div", { children: formatDate2(tx.timestamp) }),
29092
29174
  /* @__PURE__ */ jsxs114("div", { className: "mt-1", children: [
29093
29175
  "Gas: ",
29094
29176
  parseInt(tx.gas_used).toLocaleString()
29095
29177
  ] }),
29096
- tx.method && /* @__PURE__ */ jsx132("div", { className: "mt-1 text-blue-600", children: tx.method })
29178
+ tx.method && /* @__PURE__ */ jsx133("div", { className: "mt-1 text-blue-600", children: tx.method })
29097
29179
  ] })
29098
29180
  ] }),
29099
- tx.transaction_types.length > 0 && /* @__PURE__ */ jsx132("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx132("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
29181
+ tx.transaction_types.length > 0 && /* @__PURE__ */ jsx133("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ jsx133("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
29100
29182
  ]
29101
29183
  },
29102
29184
  tx.hash
@@ -29109,8 +29191,38 @@ init_vaultClient();
29109
29191
  init_useSendTransaction();
29110
29192
 
29111
29193
  // src/hooks/useUserOpStatus.ts
29112
- init_bundler();
29113
29194
  import * as React15 from "react";
29195
+
29196
+ // src/clients/bundler/waitForUserOperationReceipt.ts
29197
+ init_SessionContext();
29198
+ var UserOperationTimeoutError = class extends Error {
29199
+ constructor(userOpHash, chainId, timeoutMs) {
29200
+ super(`Timeout waiting for UserOperation receipt after ${timeoutMs}ms (hash: ${userOpHash}, chainId: ${chainId})`);
29201
+ this.name = "UserOperationTimeoutError";
29202
+ this.userOpHash = userOpHash;
29203
+ this.chainId = chainId;
29204
+ this.timeoutMs = timeoutMs;
29205
+ }
29206
+ };
29207
+ async function waitForUserOperationReceipt(userOpHash, options) {
29208
+ const pollIntervalMs = options?.pollIntervalMs ?? 1e3;
29209
+ const maxPollTimeMs = options?.maxPollTimeMs ?? 6e4;
29210
+ const targetChainId = options?.chainId ?? requireActiveChainId();
29211
+ const startTime = Date.now();
29212
+ while (true) {
29213
+ const elapsed = Date.now() - startTime;
29214
+ if (elapsed >= maxPollTimeMs) {
29215
+ throw new UserOperationTimeoutError(userOpHash, targetChainId, maxPollTimeMs);
29216
+ }
29217
+ const receipt = await getUserOperationReceipt(userOpHash, targetChainId);
29218
+ if (receipt) {
29219
+ return receipt;
29220
+ }
29221
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
29222
+ }
29223
+ }
29224
+
29225
+ // src/hooks/useUserOpStatus.ts
29114
29226
  function useUserOpStatus(options = {}) {
29115
29227
  const {
29116
29228
  userOpHash,
@@ -29335,7 +29447,7 @@ function useDirectWallet() {
29335
29447
 
29336
29448
  // src/hooks/useSendDirectTransaction.ts
29337
29449
  init_useExternalWalletStore();
29338
- import { useCallback as useCallback36, useState as useState38 } from "react";
29450
+ import { useCallback as useCallback36, useState as useState39 } from "react";
29339
29451
  import { isAddress as isAddress3, parseEther as parseEther3 } from "viem";
29340
29452
  import { useSendTransaction as useWagmiSendTransaction, useSwitchChain as useSwitchChain3 } from "wagmi";
29341
29453
  function useSendDirectTransaction() {
@@ -29343,9 +29455,9 @@ function useSendDirectTransaction() {
29343
29455
  const externalChainId = useExternalWalletStore((st) => st.externalChainId);
29344
29456
  const { sendTransactionAsync } = useWagmiSendTransaction();
29345
29457
  const { switchChainAsync } = useSwitchChain3();
29346
- const [isPending, setIsPending] = useState38(false);
29347
- const [error, setError] = useState38(null);
29348
- const [txHash, setTxHash] = useState38(null);
29458
+ const [isPending, setIsPending] = useState39(false);
29459
+ const [error, setError] = useState39(null);
29460
+ const [txHash, setTxHash] = useState39(null);
29349
29461
  const sendTransaction = useCallback36(
29350
29462
  async (params) => {
29351
29463
  if (!isConnected) {
@@ -29392,7 +29504,7 @@ function useSendDirectTransaction() {
29392
29504
  init_SessionContext();
29393
29505
  init_account2();
29394
29506
  init_linkedProfiles();
29395
- import { useCallback as useCallback37, useMemo as useMemo12, useState as useState39 } from "react";
29507
+ import { useCallback as useCallback37, useMemo as useMemo14, useState as useState40 } from "react";
29396
29508
  import { encodeFunctionData as encodeFunctionData3, isAddress as isAddress4, parseEther as parseEther4, parseUnits as parseUnits3 } from "viem";
29397
29509
  var ERC20_TRANSFER_ABI2 = [
29398
29510
  {
@@ -29408,10 +29520,10 @@ var ERC20_TRANSFER_ABI2 = [
29408
29520
  function useTransferToLinkedWallet() {
29409
29521
  const session = useSession((st) => st.session);
29410
29522
  const { profiles } = useLinkedProfiles();
29411
- const [isPending, setIsPending] = useState39(false);
29412
- const [error, setError] = useState39(null);
29413
- const [userOpHash, setUserOpHash] = useState39(null);
29414
- const linkedWallets = useMemo12(
29523
+ const [isPending, setIsPending] = useState40(false);
29524
+ const [error, setError] = useState40(null);
29525
+ const [userOpHash, setUserOpHash] = useState40(null);
29526
+ const linkedWallets = useMemo14(
29415
29527
  () => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
29416
29528
  [profiles]
29417
29529
  );
@@ -29530,7 +29642,6 @@ function useLogout() {
29530
29642
  // src/index.ts
29531
29643
  init_useNicknameResolve();
29532
29644
  init_account2();
29533
- init_clients2();
29534
29645
  init_auth();
29535
29646
  init_profile();
29536
29647
  init_hooks2();