@embarkai/ui-kit 0.4.32 → 0.4.33
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/iframe/_headers +3 -3
- package/dist/iframe/index.html +2 -2
- package/dist/iframe/main.js +69 -64
- package/dist/index.cjs +402 -286
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +319 -203
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -89,19 +89,22 @@ function getServiceUrls() {
|
|
|
89
89
|
const config = DEFAULT_PROVIDER_CONFIG;
|
|
90
90
|
const globalOverride = typeof window !== "undefined" && window.__EMBARK_SERVICES__ || {};
|
|
91
91
|
const searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : void 0;
|
|
92
|
+
const paramAssetApi = searchParams?.get("assetApiUrl") || void 0;
|
|
92
93
|
const paramTss = searchParams?.get("tssUrl") || void 0;
|
|
93
94
|
const paramVault = searchParams?.get("shareVaultUrl") || void 0;
|
|
94
95
|
const paramDashboard = searchParams?.get("dashboardApiUrl") || void 0;
|
|
95
|
-
const
|
|
96
|
-
const
|
|
96
|
+
const buildAssetApi = "https://api.embarkai.io/on-ramp/api";
|
|
97
|
+
const buildTss = "https://api.embarkai.io/tss";
|
|
98
|
+
const buildVault = "https://api.embarkai.io/vault";
|
|
97
99
|
const buildRequireWasm = false;
|
|
98
100
|
const buildWasmDebug = false;
|
|
99
101
|
const defaultTss = "/tss";
|
|
100
102
|
const defaultVault = "/vault";
|
|
101
103
|
const result = {
|
|
104
|
+
assetApiUrl: paramAssetApi || globalOverride.assetApiUrl || buildAssetApi || config.services.assetApiUrl,
|
|
102
105
|
tssUrl: paramTss || globalOverride.tssUrl || buildTss || config.services.tssUrl || defaultTss,
|
|
103
106
|
shareVaultUrl: paramVault || globalOverride.shareVaultUrl || buildVault || config.services.shareVaultUrl || defaultVault,
|
|
104
|
-
dashboardApiUrl: paramDashboard || globalOverride.dashboardApiUrl || config.services.dashboardApiUrl || "https://dashboard.
|
|
107
|
+
dashboardApiUrl: paramDashboard || globalOverride.dashboardApiUrl || config.services.dashboardApiUrl || "https://dashboard.embarkai.io/api",
|
|
105
108
|
tssRequireWasm: globalOverride.tssRequireWasm ?? buildRequireWasm ?? config.services.tssRequireWasm ?? false,
|
|
106
109
|
tssWasmDebug: globalOverride.tssWasmDebug ?? buildWasmDebug ?? config.services.tssWasmDebug ?? false
|
|
107
110
|
};
|
|
@@ -109,8 +112,8 @@ function getServiceUrls() {
|
|
|
109
112
|
}
|
|
110
113
|
function getIframeUrl() {
|
|
111
114
|
const config = DEFAULT_PROVIDER_CONFIG;
|
|
112
|
-
const buildIframeUrl = "https://auth.
|
|
113
|
-
const iframeUrl = buildIframeUrl || config.services.iframeUrl || "https://auth.
|
|
115
|
+
const buildIframeUrl = "https://auth.embarkai.io";
|
|
116
|
+
const iframeUrl = buildIframeUrl || config.services.iframeUrl || "https://auth.embarkai.io";
|
|
114
117
|
return iframeUrl;
|
|
115
118
|
}
|
|
116
119
|
function getBlockscoutApiUrl(chainConfig) {
|
|
@@ -144,7 +147,7 @@ var init_initial = __esm({
|
|
|
144
147
|
icon: TelegramIcon,
|
|
145
148
|
comingSoon: false,
|
|
146
149
|
meta: {
|
|
147
|
-
botUsername: "
|
|
150
|
+
botUsername: "embark_ai_bot",
|
|
148
151
|
salt: "demo"
|
|
149
152
|
}
|
|
150
153
|
}
|
|
@@ -178,8 +181,8 @@ var init_initial = __esm({
|
|
|
178
181
|
// Will fallback to build-time env vars
|
|
179
182
|
shareVaultUrl: "",
|
|
180
183
|
// Will fallback to build-time env vars
|
|
181
|
-
iframeUrl:
|
|
182
|
-
// Secure iframe for MPC operations
|
|
184
|
+
// iframeUrl: '',
|
|
185
|
+
// iframeUrl: 'https://auth.embarkai.io', // Secure iframe for MPC operations
|
|
183
186
|
tssRequireWasm: false,
|
|
184
187
|
tssWasmDebug: false
|
|
185
188
|
},
|
|
@@ -5167,7 +5170,7 @@ var init_button = __esm({
|
|
|
5167
5170
|
buttonVariants = (0, import_class_variance_authority.cva)(
|
|
5168
5171
|
cn(
|
|
5169
5172
|
"cursor-pointer py-0",
|
|
5170
|
-
"inline-flex items-center justify-center
|
|
5173
|
+
"inline-flex items-center justify-center",
|
|
5171
5174
|
"transition-all duration-200",
|
|
5172
5175
|
"disabled:cursor-default disabled:opacity-50",
|
|
5173
5176
|
"whitespace-nowrap text-sm font-semibold font-sans",
|
|
@@ -5195,9 +5198,9 @@ var init_button = __esm({
|
|
|
5195
5198
|
)
|
|
5196
5199
|
},
|
|
5197
5200
|
size: {
|
|
5198
|
-
small: "h-6 px-2",
|
|
5199
|
-
medium: "h-8 px-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)]",
|
|
5200
|
-
large: "h-12 px-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)]",
|
|
5201
|
+
small: "h-6 px-2 gap-2",
|
|
5202
|
+
medium: "h-8 px-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)] gap-2",
|
|
5203
|
+
large: "h-12 px-[var(--ui-kit-pd)] rounded-[var(--ui-kit-el-bdrs)] gap-[var(--ui-kit-gap)]",
|
|
5201
5204
|
icon: "h-8 w-8 p-0"
|
|
5202
5205
|
}
|
|
5203
5206
|
},
|
|
@@ -5401,7 +5404,7 @@ var init_en = __esm({
|
|
|
5401
5404
|
sender: "Sender",
|
|
5402
5405
|
bridgeAsset: "Bridge {{asset}}",
|
|
5403
5406
|
selectTokenAndRoute: "Select Token & Route",
|
|
5404
|
-
selectToken: "Select
|
|
5407
|
+
selectToken: "Select Asset",
|
|
5405
5408
|
estimations: "Estimations",
|
|
5406
5409
|
estimatedFee: "Estimated Fee",
|
|
5407
5410
|
availableChainPairs: "Available Chain Pairs",
|
|
@@ -7125,7 +7128,7 @@ function Social(props) {
|
|
|
7125
7128
|
};
|
|
7126
7129
|
let authConfig = provider?.meta || {};
|
|
7127
7130
|
if (normalizedProviderId === "telegram" && !authConfig.botUsername) {
|
|
7128
|
-
const defaultBotUsername = "
|
|
7131
|
+
const defaultBotUsername = "embark_ai_bot";
|
|
7129
7132
|
if (defaultBotUsername) {
|
|
7130
7133
|
authConfig = { ...authConfig, botUsername: defaultBotUsername };
|
|
7131
7134
|
}
|
|
@@ -10251,11 +10254,8 @@ async function getEstimates(payload) {
|
|
|
10251
10254
|
}
|
|
10252
10255
|
async function createWidgetUrlMutation(payload) {
|
|
10253
10256
|
const { iframeManager, accessToken } = iframe2();
|
|
10254
|
-
const
|
|
10255
|
-
|
|
10256
|
-
accessToken
|
|
10257
|
-
});
|
|
10258
|
-
return widgetUrlData;
|
|
10257
|
+
const response = await iframeManager.sendMessage("FINCHPAY_GET_WIDGET_URL_QUERY", { accessToken, payload });
|
|
10258
|
+
return response;
|
|
10259
10259
|
}
|
|
10260
10260
|
async function getTransactionList2(payload) {
|
|
10261
10261
|
const { iframeManager, accessToken } = iframe2();
|
|
@@ -13556,13 +13556,26 @@ async function beginPasskeyLinking() {
|
|
|
13556
13556
|
const begin2 = await res.json();
|
|
13557
13557
|
const options2 = {
|
|
13558
13558
|
rp: begin2.rp,
|
|
13559
|
-
user: {
|
|
13559
|
+
user: {
|
|
13560
|
+
id: base64urlToUint8Array(begin2.user.id),
|
|
13561
|
+
name: begin2.user.name,
|
|
13562
|
+
displayName: begin2.user.displayName
|
|
13563
|
+
},
|
|
13560
13564
|
challenge: base64urlToUint8Array(begin2.challenge),
|
|
13561
13565
|
pubKeyCredParams: begin2.pubKeyCredParams,
|
|
13562
13566
|
timeout: begin2.timeout,
|
|
13563
13567
|
attestation: begin2.attestation,
|
|
13564
|
-
authenticatorSelection: {
|
|
13565
|
-
|
|
13568
|
+
authenticatorSelection: {
|
|
13569
|
+
...begin2.authenticatorSelection,
|
|
13570
|
+
residentKey: begin2.authenticatorSelection?.residentKey ?? "preferred",
|
|
13571
|
+
requireResidentKey: begin2.authenticatorSelection?.requireResidentKey ?? false,
|
|
13572
|
+
userVerification: begin2.authenticatorSelection?.userVerification ?? "preferred"
|
|
13573
|
+
},
|
|
13574
|
+
excludeCredentials: begin2.excludeCredentials?.map((cred) => ({
|
|
13575
|
+
type: cred.type,
|
|
13576
|
+
id: base64urlToUint8Array(cred.id),
|
|
13577
|
+
transports: cred.transports
|
|
13578
|
+
})) || void 0
|
|
13566
13579
|
};
|
|
13567
13580
|
return { challengeId: begin2.challengeId, options: options2 };
|
|
13568
13581
|
}
|
|
@@ -13571,13 +13584,26 @@ async function beginPasskeyLinking() {
|
|
|
13571
13584
|
const begin = await res.json();
|
|
13572
13585
|
const options = {
|
|
13573
13586
|
rp: begin.rp,
|
|
13574
|
-
user: {
|
|
13587
|
+
user: {
|
|
13588
|
+
id: base64urlToUint8Array(begin.user.id),
|
|
13589
|
+
name: begin.user.name,
|
|
13590
|
+
displayName: begin.user.displayName
|
|
13591
|
+
},
|
|
13575
13592
|
challenge: base64urlToUint8Array(begin.challenge),
|
|
13576
13593
|
pubKeyCredParams: begin.pubKeyCredParams,
|
|
13577
13594
|
timeout: begin.timeout,
|
|
13578
13595
|
attestation: begin.attestation,
|
|
13579
|
-
authenticatorSelection: {
|
|
13580
|
-
|
|
13596
|
+
authenticatorSelection: {
|
|
13597
|
+
...begin.authenticatorSelection,
|
|
13598
|
+
residentKey: "preferred",
|
|
13599
|
+
requireResidentKey: false,
|
|
13600
|
+
userVerification: "preferred"
|
|
13601
|
+
},
|
|
13602
|
+
excludeCredentials: begin.excludeCredentials?.map((cred) => ({
|
|
13603
|
+
type: cred.type,
|
|
13604
|
+
id: base64urlToUint8Array(cred.id),
|
|
13605
|
+
transports: cred.transports
|
|
13606
|
+
})) || void 0
|
|
13581
13607
|
};
|
|
13582
13608
|
return { challengeId: begin.challengeId, options };
|
|
13583
13609
|
}
|
|
@@ -13615,7 +13641,7 @@ async function linkPasskeyWithWebAuthn(optionsOverride) {
|
|
|
13615
13641
|
try {
|
|
13616
13642
|
const ts = (/* @__PURE__ */ new Date()).toISOString().replace(/[:.]/g, "-");
|
|
13617
13643
|
const friendlyDisplay = `EmbarkAI Wallet (${ts})`;
|
|
13618
|
-
const friendlyName = `
|
|
13644
|
+
const friendlyName = `embarkai.${ts}`;
|
|
13619
13645
|
const originalUser = publicKeyOptions.user;
|
|
13620
13646
|
publicKeyOptions = {
|
|
13621
13647
|
...publicKeyOptions,
|
|
@@ -13645,7 +13671,9 @@ async function linkPasskeyWithWebAuthn(optionsOverride) {
|
|
|
13645
13671
|
timeout: publicKeyOptions.timeout,
|
|
13646
13672
|
attestation: publicKeyOptions.attestation
|
|
13647
13673
|
});
|
|
13648
|
-
const credential = await navigator.credentials.create({
|
|
13674
|
+
const credential = await navigator.credentials.create({
|
|
13675
|
+
publicKey: { ...publicKeyOptions, ...optionsOverride }
|
|
13676
|
+
});
|
|
13649
13677
|
if (!credential) throw new Error("Passkey creation was cancelled");
|
|
13650
13678
|
const attestationPayload = credentialToAttestationPayload(credential);
|
|
13651
13679
|
const cid = challengeId || "local-" + Date.now();
|
|
@@ -13655,8 +13683,8 @@ async function linkPasskeyWithWebAuthn(optionsOverride) {
|
|
|
13655
13683
|
}
|
|
13656
13684
|
var init_passkey2 = __esm({
|
|
13657
13685
|
"src/internal/auth/providers/passkey.ts"() {
|
|
13658
|
-
init_auth();
|
|
13659
13686
|
init_base64url();
|
|
13687
|
+
init_auth();
|
|
13660
13688
|
init_webauthn();
|
|
13661
13689
|
init_types();
|
|
13662
13690
|
}
|
|
@@ -15571,12 +15599,11 @@ async function fetchToken(params = {}) {
|
|
|
15571
15599
|
if (!token) throw new Error("Invalid Sumsub token response");
|
|
15572
15600
|
return token;
|
|
15573
15601
|
}
|
|
15574
|
-
var DEFAULT_TTL_SECONDS
|
|
15602
|
+
var DEFAULT_TTL_SECONDS;
|
|
15575
15603
|
var init_sumsub = __esm({
|
|
15576
15604
|
"src/internal/components/KYC/api/sumsub.ts"() {
|
|
15577
15605
|
init_httpClient();
|
|
15578
15606
|
DEFAULT_TTL_SECONDS = 600;
|
|
15579
|
-
QUERY_KEYS3 = { sumsubToken: "sumsub-token" };
|
|
15580
15607
|
}
|
|
15581
15608
|
});
|
|
15582
15609
|
|
|
@@ -15650,7 +15677,6 @@ var init_SumsubIframeManager = __esm({
|
|
|
15650
15677
|
// src/internal/components/KYC/useSumsubIframe.ts
|
|
15651
15678
|
function useSumsubIframe({ iframeUrl }) {
|
|
15652
15679
|
const config = useProviderConfig().config;
|
|
15653
|
-
const qc = (0, import_react_query24.useQueryClient)();
|
|
15654
15680
|
const { colorMode } = useColorMode();
|
|
15655
15681
|
const iframeRef = (0, import_react46.useRef)(null);
|
|
15656
15682
|
const [isLoading, setIsLoading] = (0, import_react46.useState)(true);
|
|
@@ -15671,15 +15697,9 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
15671
15697
|
iframeOrigin,
|
|
15672
15698
|
getToken: () => {
|
|
15673
15699
|
setStatus("Authenticating...");
|
|
15674
|
-
return
|
|
15675
|
-
queryKey: [QUERY_KEYS3.sumsubToken, levelName],
|
|
15676
|
-
queryFn: () => fetchToken({ levelName })
|
|
15677
|
-
});
|
|
15678
|
-
},
|
|
15679
|
-
refreshToken: async () => {
|
|
15680
|
-
const queryKey = [QUERY_KEYS3.sumsubToken, levelName];
|
|
15681
|
-
return qc.fetchQuery({ queryKey, queryFn: () => fetchToken({ levelName }) });
|
|
15700
|
+
return fetchToken({ levelName });
|
|
15682
15701
|
},
|
|
15702
|
+
refreshToken: () => fetchToken({ levelName }),
|
|
15683
15703
|
onSdkBuilt: () => setStatus("Loading verification form..."),
|
|
15684
15704
|
sendMessage: (msg) => iframeRef.current?.contentWindow?.postMessage(msg, iframeOrigin),
|
|
15685
15705
|
onReady: () => {
|
|
@@ -15705,12 +15725,11 @@ function useSumsubIframe({ iframeUrl }) {
|
|
|
15705
15725
|
status
|
|
15706
15726
|
};
|
|
15707
15727
|
}
|
|
15708
|
-
var
|
|
15728
|
+
var import_react46;
|
|
15709
15729
|
var init_useSumsubIframe = __esm({
|
|
15710
15730
|
"src/internal/components/KYC/useSumsubIframe.ts"() {
|
|
15711
15731
|
init_ProviderContext();
|
|
15712
15732
|
init_useColorMode();
|
|
15713
|
-
import_react_query24 = require("@tanstack/react-query");
|
|
15714
15733
|
import_react46 = require("react");
|
|
15715
15734
|
init_sumsub();
|
|
15716
15735
|
init_SumsubIframeManager();
|
|
@@ -15803,7 +15822,7 @@ var init_KycMenu = __esm({
|
|
|
15803
15822
|
// src/internal/components/KYC/KYCStatus.tsx
|
|
15804
15823
|
function KYCStatus() {
|
|
15805
15824
|
const address = useSession((st) => st.address);
|
|
15806
|
-
const { data: userProfile = null, isLoading: isUserProfileLoading } = (0,
|
|
15825
|
+
const { data: userProfile = null, isLoading: isUserProfileLoading } = (0, import_react_query24.useQuery)({
|
|
15807
15826
|
retry: false,
|
|
15808
15827
|
enabled: !!address,
|
|
15809
15828
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -15829,11 +15848,11 @@ function KYCStatus() {
|
|
|
15829
15848
|
)
|
|
15830
15849
|
] });
|
|
15831
15850
|
}
|
|
15832
|
-
var
|
|
15851
|
+
var import_react_query24, import_lucide_react39, import_jsx_runtime68;
|
|
15833
15852
|
var init_KYCStatus = __esm({
|
|
15834
15853
|
"src/internal/components/KYC/KYCStatus.tsx"() {
|
|
15835
15854
|
init_SessionContext();
|
|
15836
|
-
|
|
15855
|
+
import_react_query24 = require("@tanstack/react-query");
|
|
15837
15856
|
import_lucide_react39 = require("lucide-react");
|
|
15838
15857
|
init_PositiveIcon();
|
|
15839
15858
|
init_profile();
|
|
@@ -15960,7 +15979,7 @@ var init_common = __esm({
|
|
|
15960
15979
|
// src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts
|
|
15961
15980
|
function useProvidersList() {
|
|
15962
15981
|
const address = useSession((st) => st.address);
|
|
15963
|
-
return (0,
|
|
15982
|
+
return (0, import_react_query25.useQuery)({
|
|
15964
15983
|
retry: false,
|
|
15965
15984
|
// hook is invoked on multiple pages to preload cache
|
|
15966
15985
|
enabled: !!address,
|
|
@@ -15969,11 +15988,11 @@ function useProvidersList() {
|
|
|
15969
15988
|
queryFn: async () => getLinkedProviders()
|
|
15970
15989
|
});
|
|
15971
15990
|
}
|
|
15972
|
-
var
|
|
15991
|
+
var import_react_query25, PROVIDERS_QUERY_KEY;
|
|
15973
15992
|
var init_useProvidersList = __esm({
|
|
15974
15993
|
"src/internal/components/ManageWalletMenu/hooks/useProvidersList.ts"() {
|
|
15975
15994
|
init_SessionContext();
|
|
15976
|
-
|
|
15995
|
+
import_react_query25 = require("@tanstack/react-query");
|
|
15977
15996
|
init_common();
|
|
15978
15997
|
PROVIDERS_QUERY_KEY = "lumia-passport-providers-query";
|
|
15979
15998
|
}
|
|
@@ -16047,13 +16066,13 @@ async function getLinkProfilesData() {
|
|
|
16047
16066
|
return { profiles: loadedProfiles, avatar };
|
|
16048
16067
|
}
|
|
16049
16068
|
function useLinkedProfiles() {
|
|
16050
|
-
const qc = (0,
|
|
16069
|
+
const qc = (0, import_react_query26.useQueryClient)();
|
|
16051
16070
|
const address = useSession((st) => st.address);
|
|
16052
16071
|
const {
|
|
16053
16072
|
data,
|
|
16054
16073
|
isFetching: isLoading,
|
|
16055
16074
|
error
|
|
16056
|
-
} = (0,
|
|
16075
|
+
} = (0, import_react_query26.useQuery)({
|
|
16057
16076
|
retry: false,
|
|
16058
16077
|
enabled: !!address,
|
|
16059
16078
|
queryKey: [LINKED_PROFILES_QUERY_KEY, address],
|
|
@@ -16065,10 +16084,10 @@ function useLinkedProfiles() {
|
|
|
16065
16084
|
}, [qc, address]);
|
|
16066
16085
|
return { profiles, avatar, isLoading, error, refresh };
|
|
16067
16086
|
}
|
|
16068
|
-
var
|
|
16087
|
+
var import_react_query26, import_react48, LINKED_PROFILES_QUERY_KEY;
|
|
16069
16088
|
var init_linkedProfiles = __esm({
|
|
16070
16089
|
"src/modules/linkedProfiles.ts"() {
|
|
16071
|
-
|
|
16090
|
+
import_react_query26 = require("@tanstack/react-query");
|
|
16072
16091
|
import_react48 = require("react");
|
|
16073
16092
|
init_SessionContext();
|
|
16074
16093
|
init_auth();
|
|
@@ -16113,7 +16132,7 @@ function EmailForm() {
|
|
|
16113
16132
|
const isLoading = useSession((st) => st.isLoading);
|
|
16114
16133
|
const setIsLoading = useSession((st) => st.setIsLoading);
|
|
16115
16134
|
const { email, setEmail, setAlert, setEmailCodeExpiresIn, setEmailStep } = useManageWalletStore();
|
|
16116
|
-
const { mutate: onSendVerificationCode } = (0,
|
|
16135
|
+
const { mutate: onSendVerificationCode } = (0, import_react_query27.useMutation)({
|
|
16117
16136
|
mutationFn: async () => {
|
|
16118
16137
|
if (!email) return;
|
|
16119
16138
|
setIsLoading(true);
|
|
@@ -16198,14 +16217,14 @@ function EmailForm() {
|
|
|
16198
16217
|
)
|
|
16199
16218
|
] });
|
|
16200
16219
|
}
|
|
16201
|
-
var
|
|
16220
|
+
var import_react_query27, import_lucide_react42, import_jsx_runtime71;
|
|
16202
16221
|
var init_EmailForm = __esm({
|
|
16203
16222
|
"src/internal/components/ManageWalletMenu/EmailForm.tsx"() {
|
|
16204
16223
|
init_initial();
|
|
16205
16224
|
init_ProviderContext();
|
|
16206
16225
|
init_SessionContext();
|
|
16207
16226
|
init_i18n();
|
|
16208
|
-
|
|
16227
|
+
import_react_query27 = require("@tanstack/react-query");
|
|
16209
16228
|
import_lucide_react42 = require("lucide-react");
|
|
16210
16229
|
init_projectId();
|
|
16211
16230
|
init_button();
|
|
@@ -16253,7 +16272,7 @@ function useSendVerificationCode() {
|
|
|
16253
16272
|
const setAlert = useManageWalletStore((st) => st.setAlert);
|
|
16254
16273
|
const setLinkIsLoading = useManageWalletStore((st) => st.setLinkIsLoading);
|
|
16255
16274
|
const setEmailCodeExpiresIn = useManageWalletStore((st) => st.setEmailCodeExpiresIn);
|
|
16256
|
-
return (0,
|
|
16275
|
+
return (0, import_react_query28.useMutation)({
|
|
16257
16276
|
mutationFn: async (email) => {
|
|
16258
16277
|
if (!email) {
|
|
16259
16278
|
throw new Error("Email is required");
|
|
@@ -16274,10 +16293,10 @@ function useSendVerificationCode() {
|
|
|
16274
16293
|
}
|
|
16275
16294
|
});
|
|
16276
16295
|
}
|
|
16277
|
-
var
|
|
16296
|
+
var import_react_query28;
|
|
16278
16297
|
var init_useSendVerificationCode = __esm({
|
|
16279
16298
|
"src/internal/components/ManageWalletMenu/hooks/useSendVerificationCode.ts"() {
|
|
16280
|
-
|
|
16299
|
+
import_react_query28 = require("@tanstack/react-query");
|
|
16281
16300
|
init_email();
|
|
16282
16301
|
init_useStore();
|
|
16283
16302
|
}
|
|
@@ -16286,7 +16305,7 @@ var init_useSendVerificationCode = __esm({
|
|
|
16286
16305
|
// src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts
|
|
16287
16306
|
function useVerifyCode() {
|
|
16288
16307
|
const { callbacksRef } = useProviderConfig();
|
|
16289
|
-
const qc = (0,
|
|
16308
|
+
const qc = (0, import_react_query29.useQueryClient)();
|
|
16290
16309
|
const address = useSession((st) => st.address);
|
|
16291
16310
|
const setIsLoading = useSession((st) => st.setIsLoading);
|
|
16292
16311
|
const {
|
|
@@ -16300,7 +16319,7 @@ function useVerifyCode() {
|
|
|
16300
16319
|
setLinkIsLoading,
|
|
16301
16320
|
setAlert
|
|
16302
16321
|
} = useManageWalletStore();
|
|
16303
|
-
return (0,
|
|
16322
|
+
return (0, import_react_query29.useMutation)({
|
|
16304
16323
|
mutationFn: async (codeToVerify) => {
|
|
16305
16324
|
const code = codeToVerify ?? emailCode;
|
|
16306
16325
|
if (!code) {
|
|
@@ -16338,13 +16357,13 @@ function useVerifyCode() {
|
|
|
16338
16357
|
}
|
|
16339
16358
|
});
|
|
16340
16359
|
}
|
|
16341
|
-
var
|
|
16360
|
+
var import_react_query29;
|
|
16342
16361
|
var init_useVerifyCode = __esm({
|
|
16343
16362
|
"src/internal/components/ManageWalletMenu/hooks/useVerifyCode.ts"() {
|
|
16344
16363
|
init_ProviderContext();
|
|
16345
16364
|
init_SessionContext();
|
|
16346
16365
|
init_linkedProfiles();
|
|
16347
|
-
|
|
16366
|
+
import_react_query29 = require("@tanstack/react-query");
|
|
16348
16367
|
init_email();
|
|
16349
16368
|
init_useProvidersList();
|
|
16350
16369
|
init_useStore();
|
|
@@ -16363,7 +16382,7 @@ function normalizePasskeyLinkError(msg) {
|
|
|
16363
16382
|
return msg;
|
|
16364
16383
|
}
|
|
16365
16384
|
function AddProvider() {
|
|
16366
|
-
const qc = (0,
|
|
16385
|
+
const qc = (0, import_react_query30.useQueryClient)();
|
|
16367
16386
|
const { callbacksRef } = useProviderConfig();
|
|
16368
16387
|
const address = useSession((st) => st.address);
|
|
16369
16388
|
const { t } = useT();
|
|
@@ -16492,14 +16511,14 @@ function AddProvider() {
|
|
|
16492
16511
|
] })
|
|
16493
16512
|
] });
|
|
16494
16513
|
}
|
|
16495
|
-
var
|
|
16514
|
+
var import_react_query30, import_jsx_runtime72;
|
|
16496
16515
|
var init_AddProvider = __esm({
|
|
16497
16516
|
"src/internal/components/ManageWalletMenu/AddProvider.tsx"() {
|
|
16498
16517
|
init_ProviderContext();
|
|
16499
16518
|
init_SessionContext();
|
|
16500
16519
|
init_i18n();
|
|
16501
16520
|
init_linkedProfiles();
|
|
16502
|
-
|
|
16521
|
+
import_react_query30 = require("@tanstack/react-query");
|
|
16503
16522
|
init_PasskeyAddIcon();
|
|
16504
16523
|
init_passkey2();
|
|
16505
16524
|
init_useLayoutDataStore();
|
|
@@ -16551,7 +16570,7 @@ function normalizeSocialLinkError(message) {
|
|
|
16551
16570
|
return message;
|
|
16552
16571
|
}
|
|
16553
16572
|
function useLinkSocial() {
|
|
16554
|
-
const qc = (0,
|
|
16573
|
+
const qc = (0, import_react_query31.useQueryClient)();
|
|
16555
16574
|
const address = useSession((st) => st.address);
|
|
16556
16575
|
const {
|
|
16557
16576
|
config: { current: config },
|
|
@@ -16637,14 +16656,14 @@ function useLinkSocial() {
|
|
|
16637
16656
|
}
|
|
16638
16657
|
}, [providerType, linkIsLoading, socialLinkStarted, isWalletLinking, handleLinkSocialProvider]);
|
|
16639
16658
|
}
|
|
16640
|
-
var
|
|
16659
|
+
var import_react_query31, import_react49;
|
|
16641
16660
|
var init_useLinkSocial = __esm({
|
|
16642
16661
|
"src/internal/components/ManageWalletMenu/hooks/useLinkSocial.ts"() {
|
|
16643
16662
|
init_useLayoutDataStore();
|
|
16644
16663
|
init_ProviderContext();
|
|
16645
16664
|
init_SessionContext();
|
|
16646
16665
|
init_linkedProfiles();
|
|
16647
|
-
|
|
16666
|
+
import_react_query31 = require("@tanstack/react-query");
|
|
16648
16667
|
import_react49 = __toESM(require("react"), 1);
|
|
16649
16668
|
init_auth();
|
|
16650
16669
|
init_telegramBrowser();
|
|
@@ -16709,7 +16728,7 @@ function useLinkTelegram() {
|
|
|
16709
16728
|
config: { current: config },
|
|
16710
16729
|
callbacksRef
|
|
16711
16730
|
} = useProviderConfig();
|
|
16712
|
-
const qc = (0,
|
|
16731
|
+
const qc = (0, import_react_query32.useQueryClient)();
|
|
16713
16732
|
const address = useSession((st) => st.address);
|
|
16714
16733
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
16715
16734
|
const { providerType, linkIsLoading, setLinkIsLoading, setProviderType, setAlert } = useManageWalletStore();
|
|
@@ -16728,7 +16747,7 @@ function useLinkTelegram() {
|
|
|
16728
16747
|
);
|
|
16729
16748
|
let botUsername = telegramProvider?.meta?.botUsername;
|
|
16730
16749
|
if (!botUsername) {
|
|
16731
|
-
botUsername = "
|
|
16750
|
+
botUsername = "embark_ai_bot";
|
|
16732
16751
|
}
|
|
16733
16752
|
if (!botUsername) {
|
|
16734
16753
|
throw new Error("Telegram bot username not configured");
|
|
@@ -16785,13 +16804,13 @@ function useLinkTelegram() {
|
|
|
16785
16804
|
}
|
|
16786
16805
|
}, [providerType]);
|
|
16787
16806
|
}
|
|
16788
|
-
var
|
|
16807
|
+
var import_react_query32, import_react50;
|
|
16789
16808
|
var init_useLinkTelegram = __esm({
|
|
16790
16809
|
"src/internal/components/ManageWalletMenu/hooks/useLinkTelegram.ts"() {
|
|
16791
16810
|
init_ProviderContext();
|
|
16792
16811
|
init_SessionContext();
|
|
16793
16812
|
init_linkedProfiles();
|
|
16794
|
-
|
|
16813
|
+
import_react_query32 = require("@tanstack/react-query");
|
|
16795
16814
|
import_react50 = require("react");
|
|
16796
16815
|
init_telegram2();
|
|
16797
16816
|
init_useLayoutDataStore();
|
|
@@ -17085,14 +17104,14 @@ var init_ManageWallet = __esm({
|
|
|
17085
17104
|
|
|
17086
17105
|
// src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx
|
|
17087
17106
|
function UnlinkProviderMenu() {
|
|
17088
|
-
const qc = (0,
|
|
17107
|
+
const qc = (0, import_react_query33.useQueryClient)();
|
|
17089
17108
|
const address = useSession((st) => st.address);
|
|
17090
17109
|
const { callbacksRef } = useProviderConfig();
|
|
17091
17110
|
const { t } = useT();
|
|
17092
17111
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
17093
17112
|
const { confirmUnlink, setConfirmUnlink, setAlert } = useManageWalletStore();
|
|
17094
17113
|
const [confirmInput, setConfirmInput] = (0, import_react52.useState)("");
|
|
17095
|
-
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0,
|
|
17114
|
+
const { mutate: handleUnlinkProvider, isPending: isProviderUnlinking } = (0, import_react_query33.useMutation)({
|
|
17096
17115
|
mutationFn: async () => {
|
|
17097
17116
|
if (!confirmUnlink) {
|
|
17098
17117
|
throw new Error("No provider to unlink");
|
|
@@ -17166,7 +17185,7 @@ function UnlinkProviderMenu() {
|
|
|
17166
17185
|
] })
|
|
17167
17186
|
] });
|
|
17168
17187
|
}
|
|
17169
|
-
var
|
|
17188
|
+
var import_react_query33, import_lucide_react46, import_react52, import_jsx_runtime76;
|
|
17170
17189
|
var init_UnlinkProviderMenu = __esm({
|
|
17171
17190
|
"src/internal/components/ManageWalletMenu/UnlinkProviderMenu.tsx"() {
|
|
17172
17191
|
init_useLayoutDataStore();
|
|
@@ -17174,7 +17193,7 @@ var init_UnlinkProviderMenu = __esm({
|
|
|
17174
17193
|
init_SessionContext();
|
|
17175
17194
|
init_useT();
|
|
17176
17195
|
init_linkedProfiles();
|
|
17177
|
-
|
|
17196
|
+
import_react_query33 = require("@tanstack/react-query");
|
|
17178
17197
|
import_lucide_react46 = require("lucide-react");
|
|
17179
17198
|
import_react52 = require("react");
|
|
17180
17199
|
init_auth();
|
|
@@ -17329,7 +17348,7 @@ function NicknameEditForm(props) {
|
|
|
17329
17348
|
info
|
|
17330
17349
|
} = props;
|
|
17331
17350
|
const { handle: currentNickname, canChange } = info || { handle: "", canChange: false };
|
|
17332
|
-
const qc = (0,
|
|
17351
|
+
const qc = (0, import_react_query34.useQueryClient)();
|
|
17333
17352
|
const { t } = useT();
|
|
17334
17353
|
const passportWalletAddress = useSession((st) => st.address);
|
|
17335
17354
|
const { callbacksRef } = useProviderConfig();
|
|
@@ -17341,7 +17360,7 @@ function NicknameEditForm(props) {
|
|
|
17341
17360
|
isSuccess: isNicknameChangeSuccess,
|
|
17342
17361
|
// error: nicknameChangeError,
|
|
17343
17362
|
reset
|
|
17344
|
-
} = (0,
|
|
17363
|
+
} = (0, import_react_query34.useMutation)({
|
|
17345
17364
|
mutationFn: (handle) => changeNickname(handle),
|
|
17346
17365
|
onSuccess: () => {
|
|
17347
17366
|
qc.invalidateQueries({ queryKey: [QUERY_KEYS.nicknameInfo] });
|
|
@@ -17443,13 +17462,13 @@ function NicknameEditForm(props) {
|
|
|
17443
17462
|
!!canChange && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "w-full flex items-center leadding-4 text-[10px]", children: t("passport:nicknameMenu.hint") })
|
|
17444
17463
|
] });
|
|
17445
17464
|
}
|
|
17446
|
-
var
|
|
17465
|
+
var import_react_query34, import_lucide_react48, import_react53, import_jsx_runtime78;
|
|
17447
17466
|
var init_NicknameEditForm = __esm({
|
|
17448
17467
|
"src/internal/components/NicknameMenu/NicknameEditForm.tsx"() {
|
|
17449
17468
|
init_ProviderContext();
|
|
17450
17469
|
init_SessionContext();
|
|
17451
17470
|
init_i18n();
|
|
17452
|
-
|
|
17471
|
+
import_react_query34 = require("@tanstack/react-query");
|
|
17453
17472
|
import_lucide_react48 = require("lucide-react");
|
|
17454
17473
|
import_react53 = require("react");
|
|
17455
17474
|
init_PositiveIcon();
|
|
@@ -17489,7 +17508,7 @@ function useNicknameForm(currentNickname) {
|
|
|
17489
17508
|
clearTimeout(timer);
|
|
17490
17509
|
};
|
|
17491
17510
|
}, [normalizedInputValue, isValidForCheck, shouldCheckAvailability]);
|
|
17492
|
-
const query = (0,
|
|
17511
|
+
const query = (0, import_react_query35.useQuery)({
|
|
17493
17512
|
retry: 1,
|
|
17494
17513
|
enabled: shouldCheckAvailability && isValidForCheck && queryInputValue.length > 0,
|
|
17495
17514
|
queryKey: QUERY_KEYS.nicknameAvailability(queryInputValue),
|
|
@@ -17506,10 +17525,10 @@ function useNicknameForm(currentNickname) {
|
|
|
17506
17525
|
availabilityQuery: query
|
|
17507
17526
|
};
|
|
17508
17527
|
}
|
|
17509
|
-
var
|
|
17528
|
+
var import_react_query35, import_react54, DEBOUNCE_MS;
|
|
17510
17529
|
var init_useNickname = __esm({
|
|
17511
17530
|
"src/internal/components/NicknameMenu/useNickname.ts"() {
|
|
17512
|
-
|
|
17531
|
+
import_react_query35 = require("@tanstack/react-query");
|
|
17513
17532
|
import_react54 = require("react");
|
|
17514
17533
|
init_nickname();
|
|
17515
17534
|
init_profile();
|
|
@@ -17529,7 +17548,7 @@ function NicknameMenu() {
|
|
|
17529
17548
|
data: nicknameInfo,
|
|
17530
17549
|
isLoading: isNicknameInfoLoading,
|
|
17531
17550
|
error: nicknameInfoError
|
|
17532
|
-
} = (0,
|
|
17551
|
+
} = (0, import_react_query36.useQuery)({
|
|
17533
17552
|
retry: 1,
|
|
17534
17553
|
enabled: !!address,
|
|
17535
17554
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
@@ -17609,12 +17628,12 @@ function NicknameMenu() {
|
|
|
17609
17628
|
}
|
|
17610
17629
|
);
|
|
17611
17630
|
}
|
|
17612
|
-
var
|
|
17631
|
+
var import_react_query36, import_dayjs4, import_lucide_react49, import_react55, import_jsx_runtime79;
|
|
17613
17632
|
var init_NicknameMenu = __esm({
|
|
17614
17633
|
"src/internal/components/NicknameMenu/NicknameMenu.tsx"() {
|
|
17615
17634
|
init_SessionContext();
|
|
17616
17635
|
init_i18n();
|
|
17617
|
-
|
|
17636
|
+
import_react_query36 = require("@tanstack/react-query");
|
|
17618
17637
|
import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
17619
17638
|
import_lucide_react49 = require("lucide-react");
|
|
17620
17639
|
import_react55 = require("react");
|
|
@@ -17700,7 +17719,7 @@ function useWatchTokens(options) {
|
|
|
17700
17719
|
isLoading,
|
|
17701
17720
|
error,
|
|
17702
17721
|
refetch
|
|
17703
|
-
} = (0,
|
|
17722
|
+
} = (0, import_react_query37.useQuery)({
|
|
17704
17723
|
queryKey: [WATCH_TOKENS_QUERY_KEY, resolvedChainId, address, watchTokens.map((t) => t.address).join(",")],
|
|
17705
17724
|
queryFn: async () => {
|
|
17706
17725
|
if (!publicClient || !address || watchTokens.length === 0) {
|
|
@@ -17772,11 +17791,11 @@ function useWatchTokens(options) {
|
|
|
17772
17791
|
refetch
|
|
17773
17792
|
};
|
|
17774
17793
|
}
|
|
17775
|
-
var
|
|
17794
|
+
var import_react_query37, import_react57, import_viem6, WATCH_TOKENS_QUERY_KEY;
|
|
17776
17795
|
var init_useWatchTokens = __esm({
|
|
17777
17796
|
"src/internal/hooks/useWatchTokens.ts"() {
|
|
17778
17797
|
init_ProviderContext();
|
|
17779
|
-
|
|
17798
|
+
import_react_query37 = require("@tanstack/react-query");
|
|
17780
17799
|
import_react57 = require("react");
|
|
17781
17800
|
import_viem6 = require("viem");
|
|
17782
17801
|
init_useResolvedPublicClient();
|
|
@@ -17929,7 +17948,7 @@ function useBlockscoutAssets(options) {
|
|
|
17929
17948
|
data: nativeBalanceData,
|
|
17930
17949
|
isLoading: nativeLoading,
|
|
17931
17950
|
refetch: refetchNative
|
|
17932
|
-
} = (0,
|
|
17951
|
+
} = (0, import_react_query38.useQuery)({
|
|
17933
17952
|
queryKey: ["native-balance", resolvedChainId, address],
|
|
17934
17953
|
queryFn: async () => {
|
|
17935
17954
|
if (!publicClient || !address) return null;
|
|
@@ -17954,7 +17973,7 @@ function useBlockscoutAssets(options) {
|
|
|
17954
17973
|
error: tokensError,
|
|
17955
17974
|
refetch: refetchTokens,
|
|
17956
17975
|
dataUpdatedAt
|
|
17957
|
-
} = (0,
|
|
17976
|
+
} = (0, import_react_query38.useQuery)({
|
|
17958
17977
|
queryKey: [BLOCKSCOUT_QUERY_KEY, resolvedChainId, address, blockscoutApiUrl, customTokenBalancesQueryKey],
|
|
17959
17978
|
queryFn: async () => {
|
|
17960
17979
|
if (customTokenBalancesQuery) {
|
|
@@ -17978,7 +17997,7 @@ function useBlockscoutAssets(options) {
|
|
|
17978
17997
|
data: nftItems,
|
|
17979
17998
|
isLoading: nftsLoading,
|
|
17980
17999
|
refetch: refetchNfts
|
|
17981
|
-
} = (0,
|
|
18000
|
+
} = (0, import_react_query38.useQuery)({
|
|
17982
18001
|
queryKey: [BLOCKSCOUT_QUERY_KEY, "nfts", resolvedChainId, address, blockscoutApiUrl],
|
|
17983
18002
|
queryFn: () => blockscoutClient.getNfts(address),
|
|
17984
18003
|
enabled: !!address && enabled && !!blockscoutClient,
|
|
@@ -17992,7 +18011,7 @@ function useBlockscoutAssets(options) {
|
|
|
17992
18011
|
if (!tokenBalances) return [];
|
|
17993
18012
|
return tokenBalances.filter((tb) => tb.token.type === "ERC-20").map((tb) => tb.token.address_hash);
|
|
17994
18013
|
}, [tokenBalances]);
|
|
17995
|
-
const { data: erc3643Results } = (0,
|
|
18014
|
+
const { data: erc3643Results } = (0, import_react_query38.useQuery)({
|
|
17996
18015
|
queryKey: [ERC3643_DETECTION_QUERY_KEY, resolvedChainId, address, erc20TokenAddresses],
|
|
17997
18016
|
queryFn: async () => {
|
|
17998
18017
|
if (!publicClient || erc20TokenAddresses.length === 0) {
|
|
@@ -18116,12 +18135,12 @@ function useBlockscoutAssets(options) {
|
|
|
18116
18135
|
lastUpdated: dataUpdatedAt || null
|
|
18117
18136
|
};
|
|
18118
18137
|
}
|
|
18119
|
-
var import_clients2,
|
|
18138
|
+
var import_clients2, import_react_query38, import_react58, import_viem7, BLOCKSCOUT_QUERY_KEY, ERC3643_DETECTION_QUERY_KEY, ERC3643_ABI;
|
|
18120
18139
|
var init_useBlockscoutAssets = __esm({
|
|
18121
18140
|
"src/internal/hooks/useBlockscoutAssets.ts"() {
|
|
18122
18141
|
init_ProviderContext();
|
|
18123
18142
|
import_clients2 = require("@embarkai/core/clients");
|
|
18124
|
-
|
|
18143
|
+
import_react_query38 = require("@tanstack/react-query");
|
|
18125
18144
|
import_react58 = require("react");
|
|
18126
18145
|
import_viem7 = require("viem");
|
|
18127
18146
|
init_initial();
|
|
@@ -18281,14 +18300,14 @@ function PortfolioItem(props) {
|
|
|
18281
18300
|
const { assets: projectAssets, showBalanceAs: showBalanceAsSymbol } = providerConfig.projectAssets || {};
|
|
18282
18301
|
const customAssetRateQuery = providerConfig.portfolio?.assetRateQuery;
|
|
18283
18302
|
const customAssetRateQueryKey = providerConfig.portfolio?.assetRateQueryKey;
|
|
18284
|
-
const qc = (0,
|
|
18303
|
+
const qc = (0, import_react_query39.useQueryClient)();
|
|
18285
18304
|
const { balanceQueryKey } = projectAssets?.find((a) => a.symbol === showBalanceAsSymbol) || {};
|
|
18286
18305
|
const projectAssetBalance = !!balanceQueryKey ? qc.getQueryData(balanceQueryKey) : null;
|
|
18287
18306
|
const isNft = isNftAsset(asset);
|
|
18288
18307
|
const isSecurity = isSecurityToken(asset);
|
|
18289
18308
|
const embeddedRate = Number(asset.exchangeRateUsd || 0);
|
|
18290
18309
|
const hasEmbeddedRate = Number.isFinite(embeddedRate) && embeddedRate > 0;
|
|
18291
|
-
const { data: assetRate, isLoading: isRateLoading } = (0,
|
|
18310
|
+
const { data: assetRate, isLoading: isRateLoading } = (0, import_react_query39.useQuery)({
|
|
18292
18311
|
retry: false,
|
|
18293
18312
|
staleTime: 4 * 60 * 1e3,
|
|
18294
18313
|
enabled: !!address && !hasEmbeddedRate && !isProjectAsset && !isNft && !isSecurity && (!!customAssetRateQuery || !!isAssetRateAvailable(asset.symbol)),
|
|
@@ -18359,12 +18378,12 @@ function PortfolioItem(props) {
|
|
|
18359
18378
|
}
|
|
18360
18379
|
);
|
|
18361
18380
|
}
|
|
18362
|
-
var
|
|
18381
|
+
var import_react_query39, import_lucide_react50, import_react59, import_viem9, import_jsx_runtime81, SKIP_SYMBOLS2, ASSETS_RATES_QUERY_KEY;
|
|
18363
18382
|
var init_PortfolioItem = __esm({
|
|
18364
18383
|
"src/internal/components/PortfolioMenu/PortfolioItem.tsx"() {
|
|
18365
18384
|
init_ProviderContext();
|
|
18366
18385
|
init_tokens();
|
|
18367
|
-
|
|
18386
|
+
import_react_query39 = require("@tanstack/react-query");
|
|
18368
18387
|
import_lucide_react50 = require("lucide-react");
|
|
18369
18388
|
import_react59 = require("react");
|
|
18370
18389
|
import_viem9 = require("viem");
|
|
@@ -18383,7 +18402,7 @@ var init_PortfolioItem = __esm({
|
|
|
18383
18402
|
function PortfolioMenu() {
|
|
18384
18403
|
const { assets: projectAssets = [] } = useProviderConfig().config.current?.projectAssets || {};
|
|
18385
18404
|
const { t } = useT();
|
|
18386
|
-
const qc = (0,
|
|
18405
|
+
const qc = (0, import_react_query40.useQueryClient)();
|
|
18387
18406
|
const address = useSession((st) => st.address);
|
|
18388
18407
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
18389
18408
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
@@ -18448,13 +18467,13 @@ function PortfolioMenu() {
|
|
|
18448
18467
|
}
|
|
18449
18468
|
);
|
|
18450
18469
|
}
|
|
18451
|
-
var
|
|
18470
|
+
var import_react_query40, import_lucide_react51, import_react60, import_jsx_runtime82;
|
|
18452
18471
|
var init_PortfolioMenu = __esm({
|
|
18453
18472
|
"src/internal/components/PortfolioMenu/PortfolioMenu.tsx"() {
|
|
18454
18473
|
init_ProviderContext();
|
|
18455
18474
|
init_SessionContext();
|
|
18456
18475
|
init_i18n();
|
|
18457
|
-
|
|
18476
|
+
import_react_query40 = require("@tanstack/react-query");
|
|
18458
18477
|
import_lucide_react51 = require("lucide-react");
|
|
18459
18478
|
import_react60 = require("react");
|
|
18460
18479
|
init_useBlockscoutAssets();
|
|
@@ -18703,7 +18722,7 @@ var init_constants6 = __esm({
|
|
|
18703
18722
|
function useConnectedApps() {
|
|
18704
18723
|
const session = useSession((st) => st.session);
|
|
18705
18724
|
const userId = session?.mpcUserId || null;
|
|
18706
|
-
return (0,
|
|
18725
|
+
return (0, import_react_query41.useQuery)({
|
|
18707
18726
|
retry: false,
|
|
18708
18727
|
enabled: !!userId,
|
|
18709
18728
|
queryKey: [CONNECTED_TRUSTED_APPS_QUERY, userId],
|
|
@@ -18719,7 +18738,7 @@ function useConnectedApps() {
|
|
|
18719
18738
|
function useKeyshareRecoveryStats() {
|
|
18720
18739
|
const session = useSession((st) => st.session);
|
|
18721
18740
|
const userId = session?.mpcUserId || null;
|
|
18722
|
-
return (0,
|
|
18741
|
+
return (0, import_react_query41.useQuery)({
|
|
18723
18742
|
enabled: !!userId,
|
|
18724
18743
|
queryKey: [KEYSHARE_RECOVERY_STATS_QUERY, userId],
|
|
18725
18744
|
queryFn: async () => {
|
|
@@ -18736,11 +18755,11 @@ function useKeyshareRecoveryStats() {
|
|
|
18736
18755
|
}
|
|
18737
18756
|
});
|
|
18738
18757
|
}
|
|
18739
|
-
var
|
|
18758
|
+
var import_react_query41;
|
|
18740
18759
|
var init_hooks2 = __esm({
|
|
18741
18760
|
"src/internal/components/SecurityMenu/hooks.ts"() {
|
|
18742
18761
|
init_SessionContext();
|
|
18743
|
-
|
|
18762
|
+
import_react_query41 = require("@tanstack/react-query");
|
|
18744
18763
|
init_keyshare();
|
|
18745
18764
|
init_httpClient();
|
|
18746
18765
|
init_iframe_manager();
|
|
@@ -19135,7 +19154,7 @@ var init_UntrustApplication = __esm({
|
|
|
19135
19154
|
|
|
19136
19155
|
// src/internal/components/SecurityMenu/SecurityMenu.tsx
|
|
19137
19156
|
function SecurityMenu() {
|
|
19138
|
-
const qc = (0,
|
|
19157
|
+
const qc = (0, import_react_query42.useQueryClient)();
|
|
19139
19158
|
const { t } = useT();
|
|
19140
19159
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
19141
19160
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
@@ -19145,7 +19164,7 @@ function SecurityMenu() {
|
|
|
19145
19164
|
const { data: recoveryData, isLoading: isRecoveryLoading } = useKeyshareRecoveryStats();
|
|
19146
19165
|
const localInfo = recoveryData?.keyshareInfo || {};
|
|
19147
19166
|
const hasServerBackup = !!recoveryData?.shareRecoveryStats?.created || recoveryData?.shareRecoveryStats?.devices?.length > 0;
|
|
19148
|
-
const { mutate: handleUntrustApp, isPending: isUntrustingApp } = (0,
|
|
19167
|
+
const { mutate: handleUntrustApp, isPending: isUntrustingApp } = (0, import_react_query42.useMutation)({
|
|
19149
19168
|
mutationFn: async () => {
|
|
19150
19169
|
if (!userId || !appToUntrust) return;
|
|
19151
19170
|
const iframeManager = getIframeManager();
|
|
@@ -19217,11 +19236,11 @@ function SecurityMenu() {
|
|
|
19217
19236
|
}
|
|
19218
19237
|
);
|
|
19219
19238
|
}
|
|
19220
|
-
var
|
|
19239
|
+
var import_react_query42, import_lucide_react58, import_react62, import_jsx_runtime90;
|
|
19221
19240
|
var init_SecurityMenu = __esm({
|
|
19222
19241
|
"src/internal/components/SecurityMenu/SecurityMenu.tsx"() {
|
|
19223
19242
|
init_i18n();
|
|
19224
|
-
|
|
19243
|
+
import_react_query42 = require("@tanstack/react-query");
|
|
19225
19244
|
import_lucide_react58 = require("lucide-react");
|
|
19226
19245
|
import_react62 = require("react");
|
|
19227
19246
|
init_auth();
|
|
@@ -19331,7 +19350,7 @@ var init_wallet = __esm({
|
|
|
19331
19350
|
init_projectId();
|
|
19332
19351
|
init_auth();
|
|
19333
19352
|
init_types();
|
|
19334
|
-
METADATA_API_URL = "https://dashboard.
|
|
19353
|
+
METADATA_API_URL = "https://dashboard.embarkai.io/api/public/project";
|
|
19335
19354
|
METADATA_CACHE_TTL = 36e5;
|
|
19336
19355
|
metadataCache = null;
|
|
19337
19356
|
}
|
|
@@ -19536,7 +19555,7 @@ function SenderSelector() {
|
|
|
19536
19555
|
pendingWalletRef.current = null;
|
|
19537
19556
|
directWalletFlow(pending);
|
|
19538
19557
|
}, [directWalletIsConnected, directWalletAddress]);
|
|
19539
|
-
const { mutate: directWalletFlow, isPending: isDirectWalletLogin } = (0,
|
|
19558
|
+
const { mutate: directWalletFlow, isPending: isDirectWalletLogin } = (0, import_react_query43.useMutation)({
|
|
19540
19559
|
mutationFn: async (walletProfile2) => {
|
|
19541
19560
|
if (!walletProfile2?.meta?.walletName || !walletProfile2?.externalId || !walletProfile2?.meta?.walletType) {
|
|
19542
19561
|
console.error("[SENDER SELECTOR] Invalid wallet profile:", walletProfile2);
|
|
@@ -19660,14 +19679,14 @@ function SenderSelector() {
|
|
|
19660
19679
|
] })
|
|
19661
19680
|
] });
|
|
19662
19681
|
}
|
|
19663
|
-
var import_rainbowkit,
|
|
19682
|
+
var import_rainbowkit, import_react_query43, import_react63, import_wagmi, import_jsx_runtime91;
|
|
19664
19683
|
var init_SenderSelector = __esm({
|
|
19665
19684
|
"src/internal/components/SendMenu/hyperbridge/components/SenderSelector.tsx"() {
|
|
19666
19685
|
init_ProviderContext();
|
|
19667
19686
|
init_i18n();
|
|
19668
19687
|
init_linkedProfiles();
|
|
19669
19688
|
import_rainbowkit = require("@rainbow-me/rainbowkit");
|
|
19670
|
-
|
|
19689
|
+
import_react_query43 = require("@tanstack/react-query");
|
|
19671
19690
|
import_react63 = require("react");
|
|
19672
19691
|
import_wagmi = require("wagmi");
|
|
19673
19692
|
init_wallet();
|
|
@@ -19875,7 +19894,7 @@ function useBridge() {
|
|
|
19875
19894
|
setOriginChain(destinationChain);
|
|
19876
19895
|
setDestinationChain(originChain);
|
|
19877
19896
|
}, []);
|
|
19878
|
-
const { mutate: estimateQuote } = (0,
|
|
19897
|
+
const { mutate: estimateQuote } = (0, import_react_query44.useMutation)({
|
|
19879
19898
|
mutationFn: async (amountToBridge) => {
|
|
19880
19899
|
useFlowSelectorStore.getState().setError(null);
|
|
19881
19900
|
useFlowSelectorStore.getState().setIsUiLocked(true);
|
|
@@ -19944,7 +19963,7 @@ function useBridge() {
|
|
|
19944
19963
|
})
|
|
19945
19964
|
);
|
|
19946
19965
|
}, []);
|
|
19947
|
-
const { mutate: bridgeAsset, isPending: isAssetBridging } = (0,
|
|
19966
|
+
const { mutate: bridgeAsset, isPending: isAssetBridging } = (0, import_react_query44.useMutation)({
|
|
19948
19967
|
mutationFn: async () => {
|
|
19949
19968
|
const {
|
|
19950
19969
|
hyperRoute,
|
|
@@ -20040,13 +20059,13 @@ function useBridge() {
|
|
|
20040
20059
|
isAssetBridging
|
|
20041
20060
|
};
|
|
20042
20061
|
}
|
|
20043
|
-
var
|
|
20062
|
+
var import_react_query44, import_react64, import_wagmi2;
|
|
20044
20063
|
var init_useBridge = __esm({
|
|
20045
20064
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridge.ts"() {
|
|
20046
20065
|
init_SessionContext();
|
|
20047
20066
|
init_i18n();
|
|
20048
20067
|
init_useExternalWalletStore();
|
|
20049
|
-
|
|
20068
|
+
import_react_query44 = require("@tanstack/react-query");
|
|
20050
20069
|
import_react64 = require("react");
|
|
20051
20070
|
import_wagmi2 = require("wagmi");
|
|
20052
20071
|
init_useLayoutStore();
|
|
@@ -20070,7 +20089,7 @@ function useHyperlaneRoutes() {
|
|
|
20070
20089
|
data: hyperlaneWarpRoutes = [],
|
|
20071
20090
|
isLoading: isLoadingWarpRoutes,
|
|
20072
20091
|
error: errorWarpRoutes
|
|
20073
|
-
} = (0,
|
|
20092
|
+
} = (0, import_react_query45.useQuery)({
|
|
20074
20093
|
retry: false,
|
|
20075
20094
|
enabled: !!address && page === "send" /* SEND */ && flow === "bridge",
|
|
20076
20095
|
queryKey: [HYPERLANE_WARP_ROUTES_QUERY_KEY, address],
|
|
@@ -20105,11 +20124,11 @@ function useHyperlaneRoutes() {
|
|
|
20105
20124
|
}, [hyperRoute, hyperlaneWarpRoutes]);
|
|
20106
20125
|
return { hyperlaneWarpRoutes, isLoadingWarpRoutes };
|
|
20107
20126
|
}
|
|
20108
|
-
var
|
|
20127
|
+
var import_react_query45, import_react65, HYPERLANE_WARP_ROUTES_QUERY_KEY;
|
|
20109
20128
|
var init_useHyperlaneRoutes = __esm({
|
|
20110
20129
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneRoutes.ts"() {
|
|
20111
20130
|
init_SessionContext();
|
|
20112
|
-
|
|
20131
|
+
import_react_query45 = require("@tanstack/react-query");
|
|
20113
20132
|
import_react65 = require("react");
|
|
20114
20133
|
init_useLayoutDataStore();
|
|
20115
20134
|
init_useFlowSelector();
|
|
@@ -20132,7 +20151,7 @@ function useMenuTitle(warpRoutes) {
|
|
|
20132
20151
|
updateMenuTitle(t("passport:bridgeMenu.labels.sender"));
|
|
20133
20152
|
break;
|
|
20134
20153
|
case bridgeStep === "select-token":
|
|
20135
|
-
updateMenuTitle(t("passport:bridgeMenu.labels.
|
|
20154
|
+
updateMenuTitle(t("passport:bridgeMenu.labels.selectToken"));
|
|
20136
20155
|
break;
|
|
20137
20156
|
case bridgeStep === "confirm":
|
|
20138
20157
|
updateMenuTitle(t("passport:bridgeMenu.labels.confirm"));
|
|
@@ -20192,6 +20211,10 @@ function MetaMaskIcon(props) {
|
|
|
20192
20211
|
x: "0px",
|
|
20193
20212
|
y: "0px",
|
|
20194
20213
|
viewBox: "0 0 142 136.878",
|
|
20214
|
+
style: {
|
|
20215
|
+
// enableBackground: 'new 0 0 142 136.878',
|
|
20216
|
+
flexShrink: 0
|
|
20217
|
+
},
|
|
20195
20218
|
xmlSpace: "preserve",
|
|
20196
20219
|
children: [
|
|
20197
20220
|
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
@@ -20319,7 +20342,7 @@ var init_useAvailableSenders = __esm({
|
|
|
20319
20342
|
|
|
20320
20343
|
// src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts
|
|
20321
20344
|
function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
20322
|
-
const qc = (0,
|
|
20345
|
+
const qc = (0, import_react_query46.useQueryClient)();
|
|
20323
20346
|
const { t } = useT();
|
|
20324
20347
|
const address = useSession((st) => st.address);
|
|
20325
20348
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
@@ -20346,7 +20369,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20346
20369
|
const embarkTokenBalanace = assets.find((a) => a.symbol === selectedWarpRoute?.symbol);
|
|
20347
20370
|
const originChainMeta = CHAINS_UI_META[originChain];
|
|
20348
20371
|
const isSelectedTokenNative = selectedWarpRoute?.symbol?.toUpperCase() === originChainMeta?.chain?.nativeCurrency?.symbol?.toUpperCase();
|
|
20349
|
-
const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = (0,
|
|
20372
|
+
const { data: externalBalanceData, isLoading: isExternalBalanceLoading } = (0, import_react_query46.useQuery)({
|
|
20350
20373
|
enabled: bridgeSender === "direct-wallet" && !isSelectedTokenNative && !!directWalletAddress && !!routeTokenAddress && !!originChain,
|
|
20351
20374
|
retry: false,
|
|
20352
20375
|
queryKey: [EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY, originChain, directWalletAddress, routeTokenAddress],
|
|
@@ -20446,12 +20469,12 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
20446
20469
|
isRouteTokenBalanceLoading: isAssetsLoading || isExternalBalanceLoading || isExternalNativeBalanceLoading
|
|
20447
20470
|
};
|
|
20448
20471
|
}
|
|
20449
|
-
var
|
|
20472
|
+
var import_react_query46, import_react68, import_viem13, import_wagmi3, EXTERNAL_WALLET_BRIDGING_BALANCE_QUERY;
|
|
20450
20473
|
var init_useBridgeBalance = __esm({
|
|
20451
20474
|
"src/internal/components/SendMenu/hyperbridge/hooks/useBridgeBalance.ts"() {
|
|
20452
20475
|
init_SessionContext();
|
|
20453
20476
|
init_i18n();
|
|
20454
|
-
|
|
20477
|
+
import_react_query46 = require("@tanstack/react-query");
|
|
20455
20478
|
import_react68 = require("react");
|
|
20456
20479
|
import_viem13 = require("viem");
|
|
20457
20480
|
import_wagmi3 = require("wagmi");
|
|
@@ -20988,7 +21011,7 @@ function useHyperlaneHistory() {
|
|
|
20988
21011
|
const flow = useFlowSelectorStore((st) => st.flow);
|
|
20989
21012
|
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
20990
21013
|
const [currentPage, setCurrentPage] = (0, import_react71.useState)(1);
|
|
20991
|
-
const query = (0,
|
|
21014
|
+
const query = (0, import_react_query47.useQuery)({
|
|
20992
21015
|
retry: false,
|
|
20993
21016
|
refetchInterval: TX_HISTORY_POLLING_INTERVAL,
|
|
20994
21017
|
enabled: bridgeStep === "tx-history" && !!address && page === "send" /* SEND */ && flow === "bridge",
|
|
@@ -21001,11 +21024,11 @@ function useHyperlaneHistory() {
|
|
|
21001
21024
|
setCurrentPage
|
|
21002
21025
|
};
|
|
21003
21026
|
}
|
|
21004
|
-
var
|
|
21027
|
+
var import_react_query47, import_react71, HYPERLANE_HISTORY_QUERY_KEY, TX_HISTORY_PAGE_SIZE, TX_HISTORY_POLLING_INTERVAL;
|
|
21005
21028
|
var init_useHyperlaneHistory = __esm({
|
|
21006
21029
|
"src/internal/components/SendMenu/hyperbridge/hooks/useHyperlaneHistory.ts"() {
|
|
21007
21030
|
init_SessionContext();
|
|
21008
|
-
|
|
21031
|
+
import_react_query47 = require("@tanstack/react-query");
|
|
21009
21032
|
import_react71 = require("react");
|
|
21010
21033
|
init_useLayoutDataStore();
|
|
21011
21034
|
init_useFlowSelector();
|
|
@@ -21131,7 +21154,7 @@ function HistoryItem(props) {
|
|
|
21131
21154
|
updatedAt,
|
|
21132
21155
|
txStatus
|
|
21133
21156
|
} = props;
|
|
21134
|
-
const qc = (0,
|
|
21157
|
+
const qc = (0, import_react_query48.useQueryClient)();
|
|
21135
21158
|
const address = useSession((st) => st.address);
|
|
21136
21159
|
const warpRoutes = qc.getQueryData([HYPERLANE_WARP_ROUTES_QUERY_KEY, address]);
|
|
21137
21160
|
const assetWarpRoute = warpRoutes?.find((route) => {
|
|
@@ -21243,12 +21266,12 @@ function HistoryStep() {
|
|
|
21243
21266
|
!isHistoryLoading && historyItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(HistoryItem, { ...item }, item.id))
|
|
21244
21267
|
] });
|
|
21245
21268
|
}
|
|
21246
|
-
var
|
|
21269
|
+
var import_react_query48, import_dayjs7, import_lucide_react63, import_jsx_runtime99, P_CN3;
|
|
21247
21270
|
var init_HistoryStep = __esm({
|
|
21248
21271
|
"src/internal/components/SendMenu/hyperbridge/steps/HistoryStep.tsx"() {
|
|
21249
21272
|
init_SessionContext();
|
|
21250
21273
|
init_i18n();
|
|
21251
|
-
|
|
21274
|
+
import_react_query48 = require("@tanstack/react-query");
|
|
21252
21275
|
import_dayjs7 = __toESM(require("dayjs"), 1);
|
|
21253
21276
|
import_lucide_react63 = require("lucide-react");
|
|
21254
21277
|
init_tokens();
|
|
@@ -21282,11 +21305,11 @@ function SelectAssetRoute(props) {
|
|
|
21282
21305
|
}));
|
|
21283
21306
|
}, [hyperlaneWarpRoutes]);
|
|
21284
21307
|
if (isTokenSymbolSelector) {
|
|
21285
|
-
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "w-full
|
|
21308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("div", { className: "w-full grid grid-cols-1 gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)(
|
|
21286
21309
|
Button,
|
|
21287
21310
|
{
|
|
21288
21311
|
variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
|
|
21289
|
-
className: "w-full",
|
|
21312
|
+
className: "w-full justify-start",
|
|
21290
21313
|
onClick: () => {
|
|
21291
21314
|
useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
|
|
21292
21315
|
setIsTokenSymbolSelector(false);
|
|
@@ -21588,7 +21611,7 @@ function useNicknameResolve(input, options) {
|
|
|
21588
21611
|
clearTimeout(timer);
|
|
21589
21612
|
};
|
|
21590
21613
|
}, [normalized, isNicknameInput, enabled]);
|
|
21591
|
-
const query = (0,
|
|
21614
|
+
const query = (0, import_react_query49.useQuery)({
|
|
21592
21615
|
queryKey: [...QUERY_KEYS.nicknameResolve(debouncedInput), chainId],
|
|
21593
21616
|
queryFn: () => resolveNickname(debouncedInput, chainId),
|
|
21594
21617
|
enabled: enabled && isNicknameInput && debouncedInput.length > 0,
|
|
@@ -21621,10 +21644,10 @@ function useNicknameResolve(input, options) {
|
|
|
21621
21644
|
resolvedAddress
|
|
21622
21645
|
};
|
|
21623
21646
|
}
|
|
21624
|
-
var
|
|
21647
|
+
var import_react_query49, import_react75, DEBOUNCE_MS2;
|
|
21625
21648
|
var init_useNicknameResolve = __esm({
|
|
21626
21649
|
"src/hooks/useNicknameResolve.ts"() {
|
|
21627
|
-
|
|
21650
|
+
import_react_query49 = require("@tanstack/react-query");
|
|
21628
21651
|
import_react75 = require("react");
|
|
21629
21652
|
init_nickname();
|
|
21630
21653
|
init_profile();
|
|
@@ -23024,7 +23047,7 @@ function SettingsMenu() {
|
|
|
23024
23047
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
23025
23048
|
const settingsButtons = useSettingsButtons();
|
|
23026
23049
|
useProvidersList();
|
|
23027
|
-
(0,
|
|
23050
|
+
(0, import_react_query50.useQuery)({
|
|
23028
23051
|
retry: 1,
|
|
23029
23052
|
enabled: !!address,
|
|
23030
23053
|
queryKey: [QUERY_KEYS.nicknameInfo, address],
|
|
@@ -23066,13 +23089,13 @@ function SettingsMenu() {
|
|
|
23066
23089
|
}
|
|
23067
23090
|
);
|
|
23068
23091
|
}
|
|
23069
|
-
var
|
|
23092
|
+
var import_react_query50, import_lucide_react73, import_react81, import_jsx_runtime112;
|
|
23070
23093
|
var init_SettingsMenu = __esm({
|
|
23071
23094
|
"src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
|
|
23072
23095
|
init_ProviderContext();
|
|
23073
23096
|
init_SessionContext();
|
|
23074
23097
|
init_i18n();
|
|
23075
|
-
|
|
23098
|
+
import_react_query50 = require("@tanstack/react-query");
|
|
23076
23099
|
import_lucide_react73 = require("lucide-react");
|
|
23077
23100
|
import_react81 = require("react");
|
|
23078
23101
|
init_nickname();
|
|
@@ -24010,7 +24033,7 @@ var init_TransactionsGroup = __esm({
|
|
|
24010
24033
|
|
|
24011
24034
|
// src/internal/components/TransactionsMenu/TransactionsMenu.tsx
|
|
24012
24035
|
function TransactionsMenu() {
|
|
24013
|
-
const qc = (0,
|
|
24036
|
+
const qc = (0, import_react_query51.useQueryClient)();
|
|
24014
24037
|
const address = useSession((st) => st.address);
|
|
24015
24038
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
24016
24039
|
const { t } = useT();
|
|
@@ -24023,7 +24046,7 @@ function TransactionsMenu() {
|
|
|
24023
24046
|
isLoading: isTxHistoryLoading,
|
|
24024
24047
|
isFetching: isTxHistoryFetching,
|
|
24025
24048
|
error: txHistoryError
|
|
24026
|
-
} = (0,
|
|
24049
|
+
} = (0, import_react_query51.useQuery)({
|
|
24027
24050
|
retry: false,
|
|
24028
24051
|
enabled: !!address && !!chainConfig?.id && historySupported,
|
|
24029
24052
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
@@ -24078,12 +24101,12 @@ function TransactionsMenu() {
|
|
|
24078
24101
|
}
|
|
24079
24102
|
);
|
|
24080
24103
|
}
|
|
24081
|
-
var
|
|
24104
|
+
var import_react_query51, import_lucide_react76, import_react82, import_jsx_runtime116;
|
|
24082
24105
|
var init_TransactionsMenu = __esm({
|
|
24083
24106
|
"src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
|
|
24084
24107
|
init_SessionContext();
|
|
24085
24108
|
init_i18n();
|
|
24086
|
-
|
|
24109
|
+
import_react_query51 = require("@tanstack/react-query");
|
|
24087
24110
|
import_lucide_react76 = require("lucide-react");
|
|
24088
24111
|
import_react82 = require("react");
|
|
24089
24112
|
init_useLayoutDataStore();
|
|
@@ -24334,7 +24357,7 @@ function useSettingsNotifications() {
|
|
|
24334
24357
|
const setSettingsNotifications = useLayoutDataStore((st) => st.setSettingsNotifications);
|
|
24335
24358
|
const providers = import_auth21.jwtTokenManager.getProviders();
|
|
24336
24359
|
const hasEmail = providers.includes("email");
|
|
24337
|
-
const { data: userProfile = null } = (0,
|
|
24360
|
+
const { data: userProfile = null } = (0, import_react_query52.useQuery)({
|
|
24338
24361
|
retry: false,
|
|
24339
24362
|
enabled: !!address,
|
|
24340
24363
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -24354,11 +24377,11 @@ function useSettingsNotifications() {
|
|
|
24354
24377
|
});
|
|
24355
24378
|
}, [hasEmail, setSettingsNotifications]);
|
|
24356
24379
|
}
|
|
24357
|
-
var
|
|
24380
|
+
var import_react_query52, import_react84, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
|
|
24358
24381
|
var init_useSettingsNotifications = __esm({
|
|
24359
24382
|
"src/internal/hooks/useSettingsNotifications.ts"() {
|
|
24360
24383
|
init_SessionContext();
|
|
24361
|
-
|
|
24384
|
+
import_react_query52 = require("@tanstack/react-query");
|
|
24362
24385
|
import_react84 = require("react");
|
|
24363
24386
|
init_auth();
|
|
24364
24387
|
init_profile();
|
|
@@ -24382,7 +24405,7 @@ var init_package = __esm({
|
|
|
24382
24405
|
"package.json"() {
|
|
24383
24406
|
package_default = {
|
|
24384
24407
|
name: "@embarkai/ui-kit",
|
|
24385
|
-
version: "0.4.
|
|
24408
|
+
version: "0.4.33",
|
|
24386
24409
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
24387
24410
|
type: "module",
|
|
24388
24411
|
main: "./dist/index.cjs",
|
|
@@ -24481,14 +24504,14 @@ var init_package = __esm({
|
|
|
24481
24504
|
|
|
24482
24505
|
// src/internal/components/Footer/Footer.tsx
|
|
24483
24506
|
function Footer() {
|
|
24484
|
-
const qc = (0,
|
|
24507
|
+
const qc = (0, import_react_query53.useQueryClient)();
|
|
24485
24508
|
const { callbacksRef } = useProviderConfig();
|
|
24486
24509
|
const { address, setSession, setAddress, setStatus, setError, setIsLoading } = useSession();
|
|
24487
24510
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
24488
24511
|
const { t } = useT();
|
|
24489
24512
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
24490
24513
|
const setIsDialogForced = useLayoutStore((st) => st.setIsDialogForced);
|
|
24491
|
-
const { mutate: disconnect, isPending: isDisconnecting } = (0,
|
|
24514
|
+
const { mutate: disconnect, isPending: isDisconnecting } = (0, import_react_query53.useMutation)({
|
|
24492
24515
|
mutationFn: async (disconnectAddress) => {
|
|
24493
24516
|
if (!disconnectAddress) throw new Error("No address to disconnect");
|
|
24494
24517
|
setIsDialogForced(true);
|
|
@@ -24570,7 +24593,7 @@ function Footer() {
|
|
|
24570
24593
|
}
|
|
24571
24594
|
);
|
|
24572
24595
|
}
|
|
24573
|
-
var
|
|
24596
|
+
var import_react_query53, import_lucide_react77, import_jsx_runtime118;
|
|
24574
24597
|
var init_Footer = __esm({
|
|
24575
24598
|
"src/internal/components/Footer/Footer.tsx"() {
|
|
24576
24599
|
init_package();
|
|
@@ -24578,7 +24601,7 @@ var init_Footer = __esm({
|
|
|
24578
24601
|
init_ProviderContext();
|
|
24579
24602
|
init_SessionContext();
|
|
24580
24603
|
init_i18n();
|
|
24581
|
-
|
|
24604
|
+
import_react_query53 = require("@tanstack/react-query");
|
|
24582
24605
|
import_lucide_react77 = require("lucide-react");
|
|
24583
24606
|
init_auth();
|
|
24584
24607
|
init_base();
|
|
@@ -24631,7 +24654,7 @@ function Header() {
|
|
|
24631
24654
|
}, 1e3);
|
|
24632
24655
|
}
|
|
24633
24656
|
}, []);
|
|
24634
|
-
const { data: profile, isLoading: isProfileLoading } = (0,
|
|
24657
|
+
const { data: profile, isLoading: isProfileLoading } = (0, import_react_query54.useQuery)({
|
|
24635
24658
|
retry: false,
|
|
24636
24659
|
enabled: !!address,
|
|
24637
24660
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -24713,7 +24736,7 @@ function Header() {
|
|
|
24713
24736
|
}
|
|
24714
24737
|
);
|
|
24715
24738
|
}
|
|
24716
|
-
var
|
|
24739
|
+
var import_react_query54, import_lucide_react78, import_react85, import_jsx_runtime119;
|
|
24717
24740
|
var init_Header = __esm({
|
|
24718
24741
|
"src/internal/components/Header/Header.tsx"() {
|
|
24719
24742
|
init_LumiaIcon3();
|
|
@@ -24721,7 +24744,7 @@ var init_Header = __esm({
|
|
|
24721
24744
|
init_ProviderContext();
|
|
24722
24745
|
init_SessionContext();
|
|
24723
24746
|
init_useT();
|
|
24724
|
-
|
|
24747
|
+
import_react_query54 = require("@tanstack/react-query");
|
|
24725
24748
|
import_lucide_react78 = require("lucide-react");
|
|
24726
24749
|
import_react85 = require("react");
|
|
24727
24750
|
init_PositiveIcon();
|
|
@@ -25054,7 +25077,7 @@ var init_TssManager = __esm({
|
|
|
25054
25077
|
|
|
25055
25078
|
// src/internal/components/WalletConnectHandler.tsx
|
|
25056
25079
|
function WalletConnectHandler() {
|
|
25057
|
-
const qc = (0,
|
|
25080
|
+
const qc = (0, import_react_query55.useQueryClient)();
|
|
25058
25081
|
const { callbacksRef } = useProviderConfig();
|
|
25059
25082
|
const passportWalletAddress = useSession((st) => st.address);
|
|
25060
25083
|
const { address: walletAddress, isConnected, chain, connector } = (0, import_wagmi5.useAccount)();
|
|
@@ -25182,7 +25205,7 @@ function WalletConnectHandler() {
|
|
|
25182
25205
|
}
|
|
25183
25206
|
}, [isWalletLinking, setIsWalletLinking, disconnect]);
|
|
25184
25207
|
const isAuthFlow = !passportWalletAddress;
|
|
25185
|
-
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0,
|
|
25208
|
+
const { mutate: handleWalletSign, isPending: isWalletSigning } = (0, import_react_query55.useMutation)({
|
|
25186
25209
|
mutationFn: async (payload) => {
|
|
25187
25210
|
const { chainId, signingWalletAddress } = payload;
|
|
25188
25211
|
if (!signingWalletAddress || !chainId) {
|
|
@@ -25315,14 +25338,14 @@ function WalletConnectHandler() {
|
|
|
25315
25338
|
]);
|
|
25316
25339
|
return null;
|
|
25317
25340
|
}
|
|
25318
|
-
var import_rainbowkit2,
|
|
25341
|
+
var import_rainbowkit2, import_react_query55, import_react89, import_wagmi5;
|
|
25319
25342
|
var init_WalletConnectHandler = __esm({
|
|
25320
25343
|
"src/internal/components/WalletConnectHandler.tsx"() {
|
|
25321
25344
|
init_ProviderContext();
|
|
25322
25345
|
init_SessionContext();
|
|
25323
25346
|
init_linkedProfiles();
|
|
25324
25347
|
import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
25325
|
-
|
|
25348
|
+
import_react_query55 = require("@tanstack/react-query");
|
|
25326
25349
|
import_react89 = __toESM(require("react"), 1);
|
|
25327
25350
|
import_wagmi5 = require("wagmi");
|
|
25328
25351
|
init_wallet();
|
|
@@ -25561,7 +25584,7 @@ function getDashboardApiUrl() {
|
|
|
25561
25584
|
const serviceUrls = getServiceUrls();
|
|
25562
25585
|
const paramUrl = typeof window !== "undefined" ? new URLSearchParams(window.location.search).get("dashboardApiUrl") || void 0 : void 0;
|
|
25563
25586
|
const envUrl = getEnvVar("VITE_LUMIA_DASHBOARD_API_URL") || getEnvVar("LUMIA_DASHBOARD_API_URL");
|
|
25564
|
-
return paramUrl || serviceUrls.dashboardApiUrl || envUrl || "https://dashboard.
|
|
25587
|
+
return paramUrl || serviceUrls.dashboardApiUrl || envUrl || "https://dashboard.embarkai.io/api";
|
|
25565
25588
|
}
|
|
25566
25589
|
function getSelectedNetwork() {
|
|
25567
25590
|
const paramNet = typeof window !== "undefined" ? (new URLSearchParams(window.location.search).get("network") || "").toLowerCase() : "";
|
|
@@ -28449,7 +28472,100 @@ init_ProviderContext();
|
|
|
28449
28472
|
|
|
28450
28473
|
// src/components/ConnectWalletButton.tsx
|
|
28451
28474
|
init_LumiaIcon3();
|
|
28452
|
-
|
|
28475
|
+
|
|
28476
|
+
// src/internal/assets/wallets/EmbarkAiIcon.tsx
|
|
28477
|
+
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
28478
|
+
function EmbarkAiIcon(props) {
|
|
28479
|
+
const { width = "24", height = "24", ...svgProps } = props;
|
|
28480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
28481
|
+
"svg",
|
|
28482
|
+
{
|
|
28483
|
+
...svgProps,
|
|
28484
|
+
width,
|
|
28485
|
+
height,
|
|
28486
|
+
viewBox: "0 0 26 25",
|
|
28487
|
+
fill: "none",
|
|
28488
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
28489
|
+
style: { flexShrink: 0 },
|
|
28490
|
+
children: [
|
|
28491
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
28492
|
+
"path",
|
|
28493
|
+
{
|
|
28494
|
+
d: "M12.7045 5.8037H25.6717C25.6717 2.60055 23.1024 0 19.9298 0H6.96264C6.96264 3.20316 9.53194 5.8037 12.7045 5.8037Z",
|
|
28495
|
+
fill: "url(#paint0_radial_877_49)"
|
|
28496
|
+
}
|
|
28497
|
+
),
|
|
28498
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
28499
|
+
"path",
|
|
28500
|
+
{
|
|
28501
|
+
d: "M19.9333 9.59513H7.06557C7.06557 6.39197 4.49627 3.79143 1.32368 3.79143H0V9.59513H6.96265C6.96265 12.7983 9.53195 15.3988 12.7045 15.3988H25.6717C25.6717 12.1957 23.1024 9.59513 19.9298 9.59513H19.9333Z",
|
|
28502
|
+
fill: "url(#paint1_radial_877_49)"
|
|
28503
|
+
}
|
|
28504
|
+
),
|
|
28505
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)(
|
|
28506
|
+
"path",
|
|
28507
|
+
{
|
|
28508
|
+
d: "M19.9333 19.1938H7.06202C7.03008 16.0193 4.47498 13.4547 1.32368 13.4547H0V19.2584H6.9662C6.99814 22.4328 9.55324 24.9975 12.7045 24.9975H25.6717C25.6717 21.7943 23.1024 19.1938 19.9298 19.1938H19.9333Z",
|
|
28509
|
+
fill: "url(#paint2_radial_877_49)"
|
|
28510
|
+
}
|
|
28511
|
+
),
|
|
28512
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)("defs", { children: [
|
|
28513
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
28514
|
+
"radialGradient",
|
|
28515
|
+
{
|
|
28516
|
+
id: "paint0_radial_877_49",
|
|
28517
|
+
cx: "0",
|
|
28518
|
+
cy: "0",
|
|
28519
|
+
r: "1",
|
|
28520
|
+
gradientUnits: "userSpaceOnUse",
|
|
28521
|
+
gradientTransform: "translate(25.2529 -0.939785) scale(26.7789 27.0672)",
|
|
28522
|
+
children: [
|
|
28523
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
28524
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "0.36", stopColor: "#0DE4B3" }),
|
|
28525
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "1", stopColor: "#D13AFF" })
|
|
28526
|
+
]
|
|
28527
|
+
}
|
|
28528
|
+
),
|
|
28529
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
28530
|
+
"radialGradient",
|
|
28531
|
+
{
|
|
28532
|
+
id: "paint1_radial_877_49",
|
|
28533
|
+
cx: "0",
|
|
28534
|
+
cy: "0",
|
|
28535
|
+
r: "1",
|
|
28536
|
+
gradientUnits: "userSpaceOnUse",
|
|
28537
|
+
gradientTransform: "translate(23.6134 -2.08401) scale(30.1644 30.4892)",
|
|
28538
|
+
children: [
|
|
28539
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
28540
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "0.36", stopColor: "#0DE4B3" }),
|
|
28541
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "1", stopColor: "#D13AFF" })
|
|
28542
|
+
]
|
|
28543
|
+
}
|
|
28544
|
+
),
|
|
28545
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsxs)(
|
|
28546
|
+
"radialGradient",
|
|
28547
|
+
{
|
|
28548
|
+
id: "paint2_radial_877_49",
|
|
28549
|
+
cx: "0",
|
|
28550
|
+
cy: "0",
|
|
28551
|
+
r: "1",
|
|
28552
|
+
gradientUnits: "userSpaceOnUse",
|
|
28553
|
+
gradientTransform: "translate(16.0794 5.81084) scale(22.4849 22.727)",
|
|
28554
|
+
children: [
|
|
28555
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { stopColor: "#CCFFF8" }),
|
|
28556
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "0.36", stopColor: "#0DE4B3" }),
|
|
28557
|
+
/* @__PURE__ */ (0, import_jsx_runtime127.jsx)("stop", { offset: "1", stopColor: "#D13AFF" })
|
|
28558
|
+
]
|
|
28559
|
+
}
|
|
28560
|
+
)
|
|
28561
|
+
] })
|
|
28562
|
+
]
|
|
28563
|
+
}
|
|
28564
|
+
);
|
|
28565
|
+
}
|
|
28566
|
+
|
|
28567
|
+
// src/components/ConnectWalletButton.tsx
|
|
28568
|
+
var import_react_query56 = require("@tanstack/react-query");
|
|
28453
28569
|
var import_lucide_react80 = require("lucide-react");
|
|
28454
28570
|
var import_react94 = require("react");
|
|
28455
28571
|
init_SessionContext();
|
|
@@ -28462,7 +28578,7 @@ init_useLayoutDataStore();
|
|
|
28462
28578
|
init_useLayoutStore();
|
|
28463
28579
|
init_pro_mode();
|
|
28464
28580
|
init_utils2();
|
|
28465
|
-
var
|
|
28581
|
+
var import_jsx_runtime128 = (
|
|
28466
28582
|
/** external Buttons can be provided */
|
|
28467
28583
|
require("react/jsx-runtime")
|
|
28468
28584
|
);
|
|
@@ -28485,7 +28601,7 @@ function ConnectWalletButton(props) {
|
|
|
28485
28601
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
28486
28602
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
28487
28603
|
(0, import_react94.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
28488
|
-
const { data: profile, isLoading: isProfileLoading } = (0,
|
|
28604
|
+
const { data: profile, isLoading: isProfileLoading } = (0, import_react_query56.useQuery)({
|
|
28489
28605
|
retry: false,
|
|
28490
28606
|
enabled: !!address,
|
|
28491
28607
|
queryKey: [QUERY_KEYS.userProfile, address],
|
|
@@ -28501,18 +28617,18 @@ function ConnectWalletButton(props) {
|
|
|
28501
28617
|
}, [session, address, hasServerVault]);
|
|
28502
28618
|
const proMode = useProMode();
|
|
28503
28619
|
const isConnecting = connectButtonLabel !== label || isLoading;
|
|
28504
|
-
return /* @__PURE__ */ (0,
|
|
28620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("div", { "data-current-theme-mode": colorMode, className: cn("embarkai-ui-scope w-fit h-fit", className), children: !address ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_jsx_runtime128.Fragment, { children: ConnectButton ? /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28505
28621
|
ConnectButton,
|
|
28506
28622
|
{
|
|
28507
28623
|
type: "button",
|
|
28508
28624
|
disabled: isConnecting,
|
|
28509
28625
|
onClick: () => setPage("auth" /* AUTH */),
|
|
28510
28626
|
children: [
|
|
28511
|
-
isConnecting
|
|
28627
|
+
isConnecting ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react80.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(EmbarkAiIcon, { className: "w-6 h-6" }),
|
|
28512
28628
|
connectButtonLabel
|
|
28513
28629
|
]
|
|
28514
28630
|
}
|
|
28515
|
-
) : /* @__PURE__ */ (0,
|
|
28631
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28516
28632
|
Button,
|
|
28517
28633
|
{
|
|
28518
28634
|
type: "button",
|
|
@@ -28522,18 +28638,18 @@ function ConnectWalletButton(props) {
|
|
|
28522
28638
|
onClick: () => setPage("auth" /* AUTH */),
|
|
28523
28639
|
className: cn(
|
|
28524
28640
|
"account-connect-button w-fit h-16 px-8",
|
|
28525
|
-
|
|
28641
|
+
"rounded-[var(--ui-kit-bdrs)]",
|
|
28526
28642
|
"border-0 border-transparent",
|
|
28527
28643
|
// to override button appearance bd, which case to case might drop black border
|
|
28528
28644
|
"bg-[var(--ui-kit-bg)] hover:bg-[var(--ui-kit-bg)] active:bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]",
|
|
28529
28645
|
"disabled:hover:bg-[var(--ui-kit-bg)] disabled:active:bg-[var(--ui-kit-bg)]"
|
|
28530
28646
|
),
|
|
28531
28647
|
children: [
|
|
28532
|
-
isConnecting
|
|
28648
|
+
isConnecting ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "w-6 h-6 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react80.Loader, { className: "w-4 h-4 animate-spin" }) }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(EmbarkAiIcon, { className: "w-6 h-6" }),
|
|
28533
28649
|
connectButtonLabel.toUpperCase()
|
|
28534
28650
|
]
|
|
28535
28651
|
}
|
|
28536
|
-
) }) : /* @__PURE__ */ (0,
|
|
28652
|
+
) }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28537
28653
|
"button",
|
|
28538
28654
|
{
|
|
28539
28655
|
type: "button",
|
|
@@ -28546,26 +28662,26 @@ function ConnectWalletButton(props) {
|
|
|
28546
28662
|
"rounded-[var(--ui-kit-bdrs)] p-4 max-w-sm min-w-[256px]"
|
|
28547
28663
|
),
|
|
28548
28664
|
children: [
|
|
28549
|
-
/* @__PURE__ */ (0,
|
|
28550
|
-
proMode && /* @__PURE__ */ (0,
|
|
28551
|
-
profile?.avatar ? /* @__PURE__ */ (0,
|
|
28665
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "relative w-12 h-12 rounded-full bg-[var(--ui-kit-fg)] flex items-center justify-center flex-shrink-0", children: [
|
|
28666
|
+
proMode && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("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" }),
|
|
28667
|
+
profile?.avatar ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("img", { src: profile.avatar, alt: "User avatar", className: "w-full h-full object-cover" }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(LumiaIcon3, { width: 48, height: 48 })
|
|
28552
28668
|
] }),
|
|
28553
|
-
/* @__PURE__ */ (0,
|
|
28554
|
-
/* @__PURE__ */ (0,
|
|
28555
|
-
isProfileLoading ? /* @__PURE__ */ (0,
|
|
28556
|
-
!isProfileLoading && /* @__PURE__ */ (0,
|
|
28669
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "text-left flex-1 min-w-0 text-[var(--ui-kit-fg)]", children: [
|
|
28670
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
28671
|
+
isProfileLoading ? /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(import_lucide_react80.Loader, { className: "w-4 h-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime128.jsx)("span", { className: "w-fit text-[14px] leading-4 truncate max-w-[144px] text-[var(--ui-kit-fg)]", children: displayName }),
|
|
28672
|
+
!isProfileLoading && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(KYCStatus, {})
|
|
28557
28673
|
] }),
|
|
28558
|
-
/* @__PURE__ */ (0,
|
|
28674
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(BalanceView, {})
|
|
28559
28675
|
] }),
|
|
28560
|
-
/* @__PURE__ */ (0,
|
|
28561
|
-
/* @__PURE__ */ (0,
|
|
28562
|
-
/* @__PURE__ */ (0,
|
|
28676
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "flex items-center space-x-1", children: [
|
|
28677
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "group relative", children: [
|
|
28678
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
28563
28679
|
import_lucide_react80.Cloud,
|
|
28564
28680
|
{
|
|
28565
28681
|
className: `w-3 h-3 ${indicators.server ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
|
|
28566
28682
|
}
|
|
28567
28683
|
),
|
|
28568
|
-
/* @__PURE__ */ (0,
|
|
28684
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28569
28685
|
"div",
|
|
28570
28686
|
{
|
|
28571
28687
|
className: cn(
|
|
@@ -28580,14 +28696,14 @@ function ConnectWalletButton(props) {
|
|
|
28580
28696
|
}
|
|
28581
28697
|
)
|
|
28582
28698
|
] }),
|
|
28583
|
-
/* @__PURE__ */ (0,
|
|
28584
|
-
/* @__PURE__ */ (0,
|
|
28699
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "group relative", children: [
|
|
28700
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
28585
28701
|
import_lucide_react80.Laptop,
|
|
28586
28702
|
{
|
|
28587
28703
|
className: `w-3 h-3 ${indicators.local ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
|
|
28588
28704
|
}
|
|
28589
28705
|
),
|
|
28590
|
-
/* @__PURE__ */ (0,
|
|
28706
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28591
28707
|
"div",
|
|
28592
28708
|
{
|
|
28593
28709
|
className: cn(
|
|
@@ -28602,14 +28718,14 @@ function ConnectWalletButton(props) {
|
|
|
28602
28718
|
}
|
|
28603
28719
|
)
|
|
28604
28720
|
] }),
|
|
28605
|
-
/* @__PURE__ */ (0,
|
|
28606
|
-
/* @__PURE__ */ (0,
|
|
28721
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)("div", { className: "group relative", children: [
|
|
28722
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
28607
28723
|
import_lucide_react80.Shield,
|
|
28608
28724
|
{
|
|
28609
28725
|
className: `w-3 h-3 ${indicators.backup ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-warning)]"}`
|
|
28610
28726
|
}
|
|
28611
28727
|
),
|
|
28612
|
-
/* @__PURE__ */ (0,
|
|
28728
|
+
/* @__PURE__ */ (0, import_jsx_runtime128.jsxs)(
|
|
28613
28729
|
"div",
|
|
28614
28730
|
{
|
|
28615
28731
|
className: cn(
|
|
@@ -28625,7 +28741,7 @@ function ConnectWalletButton(props) {
|
|
|
28625
28741
|
)
|
|
28626
28742
|
] })
|
|
28627
28743
|
] }),
|
|
28628
|
-
!!settingsNotifications.length && /* @__PURE__ */ (0,
|
|
28744
|
+
!!settingsNotifications.length && /* @__PURE__ */ (0, import_jsx_runtime128.jsx)(
|
|
28629
28745
|
"div",
|
|
28630
28746
|
{
|
|
28631
28747
|
className: cn(
|
|
@@ -28703,24 +28819,24 @@ var import_lucide_react81 = require("lucide-react");
|
|
|
28703
28819
|
init_useColorMode();
|
|
28704
28820
|
init_button();
|
|
28705
28821
|
init_utils2();
|
|
28706
|
-
var
|
|
28822
|
+
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
28707
28823
|
function ThemeToggle(props) {
|
|
28708
28824
|
const { className, ...btnProps } = props;
|
|
28709
28825
|
const { colorMode, setColorMode } = useColorMode();
|
|
28710
|
-
return /* @__PURE__ */ (0,
|
|
28826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
28711
28827
|
"div",
|
|
28712
28828
|
{
|
|
28713
28829
|
className: cn("embarkai-ui-scope", className),
|
|
28714
28830
|
"data-current-theme-mode": colorMode,
|
|
28715
28831
|
style: { width: "fit-content", height: "fit-content" },
|
|
28716
|
-
children: /* @__PURE__ */ (0,
|
|
28832
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(
|
|
28717
28833
|
Button,
|
|
28718
28834
|
{
|
|
28719
28835
|
...btnProps,
|
|
28720
28836
|
variant: "ghost",
|
|
28721
28837
|
onClick: () => setColorMode(colorMode === "light" ? "dark" : "light"),
|
|
28722
28838
|
title: `Current theme: ${colorMode}. Click to switch.`,
|
|
28723
|
-
children: colorMode === "dark" ? /* @__PURE__ */ (0,
|
|
28839
|
+
children: colorMode === "dark" ? /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_lucide_react81.Sun, { className: "w-4 h-4" }) : /* @__PURE__ */ (0, import_jsx_runtime129.jsx)(import_lucide_react81.Moon, { className: "w-4 h-4" })
|
|
28724
28840
|
}
|
|
28725
28841
|
)
|
|
28726
28842
|
}
|
|
@@ -28732,18 +28848,18 @@ init_i18n();
|
|
|
28732
28848
|
init_button();
|
|
28733
28849
|
init_useLayoutDataStore();
|
|
28734
28850
|
init_utils2();
|
|
28735
|
-
var
|
|
28851
|
+
var import_jsx_runtime130 = require("react/jsx-runtime");
|
|
28736
28852
|
function LangToggle(props) {
|
|
28737
28853
|
const { className, ...btnProps } = props;
|
|
28738
28854
|
const { i18n } = useT();
|
|
28739
28855
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
28740
|
-
return /* @__PURE__ */ (0,
|
|
28856
|
+
return /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
28741
28857
|
"div",
|
|
28742
28858
|
{
|
|
28743
28859
|
className: cn("embarkai-ui-scope", className),
|
|
28744
28860
|
"data-mbark-language": i18n.resolvedLanguage || "en",
|
|
28745
28861
|
style: { width: "fit-content", height: "fit-content" },
|
|
28746
|
-
children: /* @__PURE__ */ (0,
|
|
28862
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime130.jsx)(
|
|
28747
28863
|
Button,
|
|
28748
28864
|
{
|
|
28749
28865
|
...btnProps,
|
|
@@ -28848,7 +28964,7 @@ var import_lucide_react82 = require("lucide-react");
|
|
|
28848
28964
|
var React11 = __toESM(require("react"), 1);
|
|
28849
28965
|
init_cn();
|
|
28850
28966
|
init_button();
|
|
28851
|
-
var
|
|
28967
|
+
var import_jsx_runtime131 = require("react/jsx-runtime");
|
|
28852
28968
|
function toExplorerAddressUrl(address, chain) {
|
|
28853
28969
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
28854
28970
|
if (!base2) return null;
|
|
@@ -28870,11 +28986,11 @@ var Address = ({
|
|
|
28870
28986
|
const addr = address || "";
|
|
28871
28987
|
const explorer = toExplorerAddressUrl(addr, chain || void 0);
|
|
28872
28988
|
const [copied, setCopied] = React11.useState(false);
|
|
28873
|
-
if (!addr) return /* @__PURE__ */ (0,
|
|
28874
|
-
return /* @__PURE__ */ (0,
|
|
28875
|
-
label && /* @__PURE__ */ (0,
|
|
28876
|
-
/* @__PURE__ */ (0,
|
|
28877
|
-
showCopy && /* @__PURE__ */ (0,
|
|
28989
|
+
if (!addr) return /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
28990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime131.jsxs)("div", { className: cn2("flex items-center gap-2", className), style: { listStyle: "none" }, children: [
|
|
28991
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
28992
|
+
/* @__PURE__ */ (0, import_jsx_runtime131.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded select-all", children: truncate ? short(addr) : addr }),
|
|
28993
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
28878
28994
|
Button,
|
|
28879
28995
|
{
|
|
28880
28996
|
variant: "ghost",
|
|
@@ -28888,10 +29004,10 @@ var Address = ({
|
|
|
28888
29004
|
} catch {
|
|
28889
29005
|
}
|
|
28890
29006
|
},
|
|
28891
|
-
children: /* @__PURE__ */ (0,
|
|
29007
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react82.Copy, { className: "h-4 w-4" })
|
|
28892
29008
|
}
|
|
28893
29009
|
),
|
|
28894
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
29010
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(
|
|
28895
29011
|
"a",
|
|
28896
29012
|
{
|
|
28897
29013
|
href: explorer,
|
|
@@ -28899,7 +29015,7 @@ var Address = ({
|
|
|
28899
29015
|
rel: "noreferrer noopener",
|
|
28900
29016
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
28901
29017
|
title: "Open in explorer",
|
|
28902
|
-
children: /* @__PURE__ */ (0,
|
|
29018
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime131.jsx)(import_lucide_react82.ExternalLink, { className: "h-4 w-4" })
|
|
28903
29019
|
}
|
|
28904
29020
|
)
|
|
28905
29021
|
] });
|
|
@@ -28908,7 +29024,7 @@ var Address = ({
|
|
|
28908
29024
|
// src/internal/components/UserOpStatus.tsx
|
|
28909
29025
|
init_badge();
|
|
28910
29026
|
init_button();
|
|
28911
|
-
var
|
|
29027
|
+
var import_jsx_runtime132 = require("react/jsx-runtime");
|
|
28912
29028
|
var UserOpStatus = ({
|
|
28913
29029
|
userOpHash,
|
|
28914
29030
|
chain,
|
|
@@ -29023,35 +29139,35 @@ var UserOpStatus = ({
|
|
|
29023
29139
|
const stateBadge = () => {
|
|
29024
29140
|
if (receipt) {
|
|
29025
29141
|
const ok = !!receipt.success;
|
|
29026
|
-
return /* @__PURE__ */ (0,
|
|
29027
|
-
ok ? /* @__PURE__ */ (0,
|
|
29142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Badge, { variant: ok ? "success" : "destructive", children: [
|
|
29143
|
+
ok ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.CheckCircle2, { className: "h-3 w-3" }) : /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-3 w-3" }),
|
|
29028
29144
|
ok ? "Included" : "Failed"
|
|
29029
29145
|
] });
|
|
29030
29146
|
}
|
|
29031
29147
|
if (rejected) {
|
|
29032
|
-
return /* @__PURE__ */ (0,
|
|
29033
|
-
/* @__PURE__ */ (0,
|
|
29148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Badge, { variant: "destructive", children: [
|
|
29149
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-3 w-3" }),
|
|
29034
29150
|
" Rejected by bundler"
|
|
29035
29151
|
] });
|
|
29036
29152
|
}
|
|
29037
29153
|
if (timedOut) {
|
|
29038
|
-
return /* @__PURE__ */ (0,
|
|
29039
|
-
/* @__PURE__ */ (0,
|
|
29154
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Badge, { variant: "warning", children: [
|
|
29155
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-3 w-3" }),
|
|
29040
29156
|
" Timeout - may be rejected"
|
|
29041
29157
|
] });
|
|
29042
29158
|
}
|
|
29043
29159
|
if (mempool) {
|
|
29044
|
-
return /* @__PURE__ */ (0,
|
|
29045
|
-
/* @__PURE__ */ (0,
|
|
29160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Badge, { variant: "outline", children: [
|
|
29161
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.Clock, { className: "h-3 w-3" }),
|
|
29046
29162
|
" Pending in bundler"
|
|
29047
29163
|
] });
|
|
29048
29164
|
}
|
|
29049
|
-
return /* @__PURE__ */ (0,
|
|
29050
|
-
/* @__PURE__ */ (0,
|
|
29165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Badge, { variant: "secondary", children: [
|
|
29166
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.Clock, { className: "h-3 w-3" }),
|
|
29051
29167
|
" Waiting"
|
|
29052
29168
|
] });
|
|
29053
29169
|
};
|
|
29054
|
-
return /* @__PURE__ */ (0,
|
|
29170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(
|
|
29055
29171
|
"div",
|
|
29056
29172
|
{
|
|
29057
29173
|
className: cn2(
|
|
@@ -29060,20 +29176,20 @@ var UserOpStatus = ({
|
|
|
29060
29176
|
),
|
|
29061
29177
|
style: { textAlign: "left", listStyle: "none" },
|
|
29062
29178
|
children: [
|
|
29063
|
-
/* @__PURE__ */ (0,
|
|
29064
|
-
/* @__PURE__ */ (0,
|
|
29179
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center justify-between mb-3", children: [
|
|
29180
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
29065
29181
|
stateBadge(),
|
|
29066
|
-
/* @__PURE__ */ (0,
|
|
29182
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-xs text-muted-foreground", children: "This is a UserOperation hash (EIP-4337), not a L2 tx hash." })
|
|
29067
29183
|
] }),
|
|
29068
|
-
/* @__PURE__ */ (0,
|
|
29069
|
-
/* @__PURE__ */ (0,
|
|
29070
|
-
/* @__PURE__ */ (0,
|
|
29184
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)(Button, { variant: "ghost", size: "small", onClick: () => tick(), disabled: refreshing, className: "h-8", children: [
|
|
29185
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.RefreshCw, { className: cn2("h-3.5 w-3.5 mr-1", refreshing && "animate-spin") }),
|
|
29186
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-xs", children: "Refresh" })
|
|
29071
29187
|
] })
|
|
29072
29188
|
] }),
|
|
29073
|
-
/* @__PURE__ */ (0,
|
|
29074
|
-
/* @__PURE__ */ (0,
|
|
29075
|
-
/* @__PURE__ */ (0,
|
|
29076
|
-
/* @__PURE__ */ (0,
|
|
29189
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
29190
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "UO Hash" }),
|
|
29191
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: userOpHash }),
|
|
29192
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
29077
29193
|
Button,
|
|
29078
29194
|
{
|
|
29079
29195
|
variant: "ghost",
|
|
@@ -29085,14 +29201,14 @@ var UserOpStatus = ({
|
|
|
29085
29201
|
} catch {
|
|
29086
29202
|
}
|
|
29087
29203
|
},
|
|
29088
|
-
children: /* @__PURE__ */ (0,
|
|
29204
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.Copy, { className: "h-3.5 w-3.5" })
|
|
29089
29205
|
}
|
|
29090
29206
|
)
|
|
29091
29207
|
] }),
|
|
29092
|
-
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0,
|
|
29093
|
-
/* @__PURE__ */ (0,
|
|
29094
|
-
/* @__PURE__ */ (0,
|
|
29095
|
-
/* @__PURE__ */ (0,
|
|
29208
|
+
receipt && receipt.receipt?.transactionHash && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
29209
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("span", { className: "text-sm font-medium min-w-16 shrink-0", children: "Tx Hash" }),
|
|
29210
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("code", { className: "text-xs font-mono flex-1 select-all", children: receipt.receipt.transactionHash }),
|
|
29211
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
29096
29212
|
Button,
|
|
29097
29213
|
{
|
|
29098
29214
|
variant: "ghost",
|
|
@@ -29104,10 +29220,10 @@ var UserOpStatus = ({
|
|
|
29104
29220
|
} catch {
|
|
29105
29221
|
}
|
|
29106
29222
|
},
|
|
29107
|
-
children: /* @__PURE__ */ (0,
|
|
29223
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.Copy, { className: "h-3.5 w-3.5" })
|
|
29108
29224
|
}
|
|
29109
29225
|
),
|
|
29110
|
-
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0,
|
|
29226
|
+
chain?.blockExplorers?.default?.url && /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
29111
29227
|
"a",
|
|
29112
29228
|
{
|
|
29113
29229
|
href: `${chain.blockExplorers.default.url}/tx/${receipt.receipt.transactionHash}`,
|
|
@@ -29115,11 +29231,11 @@ var UserOpStatus = ({
|
|
|
29115
29231
|
rel: "noreferrer noopener",
|
|
29116
29232
|
className: "inline-flex items-center justify-center h-8 w-8 rounded-md hover:bg-accent text-foreground",
|
|
29117
29233
|
title: "Open in explorer",
|
|
29118
|
-
children: /* @__PURE__ */ (0,
|
|
29234
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.ExternalLink, { className: "h-3.5 w-3.5" })
|
|
29119
29235
|
}
|
|
29120
29236
|
)
|
|
29121
29237
|
] }),
|
|
29122
|
-
receipt && /* @__PURE__ */ (0,
|
|
29238
|
+
receipt && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "text-xs text-muted-foreground mb-3", children: [
|
|
29123
29239
|
"Block ",
|
|
29124
29240
|
parseInt(receipt.receipt?.blockNumber || "0x0", 16),
|
|
29125
29241
|
" \u2022 Gas Used",
|
|
@@ -29128,32 +29244,32 @@ var UserOpStatus = ({
|
|
|
29128
29244
|
" \u2022 Success ",
|
|
29129
29245
|
String(!!receipt.success)
|
|
29130
29246
|
] }),
|
|
29131
|
-
/* @__PURE__ */ (0,
|
|
29247
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)("div", { className: "text-xs text-muted-foreground", children: !receipt && !timedOut && !rejected && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("span", { className: "ml-2", children: [
|
|
29132
29248
|
"\u2022 Polling for ",
|
|
29133
29249
|
Math.round((Date.now() - startTimeRef.current) / 1e3),
|
|
29134
29250
|
"s"
|
|
29135
29251
|
] }) }),
|
|
29136
|
-
mempool && /* @__PURE__ */ (0,
|
|
29137
|
-
/* @__PURE__ */ (0,
|
|
29252
|
+
mempool && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "text-sm text-muted-foreground mt-2", style: { listStyle: "none" }, children: [
|
|
29253
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { children: [
|
|
29138
29254
|
"Seen by bundler at ",
|
|
29139
|
-
/* @__PURE__ */ (0,
|
|
29255
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Address, { address: mempool.entryPoint, chain, showExplorer: true, truncate: false })
|
|
29140
29256
|
] }),
|
|
29141
|
-
/* @__PURE__ */ (0,
|
|
29257
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { children: [
|
|
29142
29258
|
"sender ",
|
|
29143
|
-
/* @__PURE__ */ (0,
|
|
29259
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(Address, { address: mempool.sender, chain, truncate: false })
|
|
29144
29260
|
] })
|
|
29145
29261
|
] }),
|
|
29146
|
-
error && /* @__PURE__ */ (0,
|
|
29147
|
-
/* @__PURE__ */ (0,
|
|
29262
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
29263
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-4 w-4" }),
|
|
29148
29264
|
" ",
|
|
29149
29265
|
error
|
|
29150
29266
|
] }),
|
|
29151
|
-
rejected && /* @__PURE__ */ (0,
|
|
29152
|
-
/* @__PURE__ */ (0,
|
|
29267
|
+
rejected && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
29268
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-4 w-4" }),
|
|
29153
29269
|
"UserOperation was dropped from bundler mempool. This usually means it was invalid or replaced."
|
|
29154
29270
|
] }),
|
|
29155
|
-
timedOut && /* @__PURE__ */ (0,
|
|
29156
|
-
/* @__PURE__ */ (0,
|
|
29271
|
+
timedOut && /* @__PURE__ */ (0, import_jsx_runtime132.jsxs)("div", { className: "text-sm text-destructive flex items-center gap-1 mt-4", children: [
|
|
29272
|
+
/* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_lucide_react83.AlertCircle, { className: "h-4 w-4" }),
|
|
29157
29273
|
"Stopped polling after ",
|
|
29158
29274
|
Math.round(maxPollTimeMs / 1e3),
|
|
29159
29275
|
"s. UserOperation may have been rejected by the bundler."
|
|
@@ -29168,7 +29284,7 @@ var import_lucide_react84 = require("lucide-react");
|
|
|
29168
29284
|
var React13 = __toESM(require("react"), 1);
|
|
29169
29285
|
init_cn();
|
|
29170
29286
|
init_button();
|
|
29171
|
-
var
|
|
29287
|
+
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
29172
29288
|
function toExplorerUrl(kind, value, chain) {
|
|
29173
29289
|
const base2 = chain?.blockExplorers?.default?.url;
|
|
29174
29290
|
if (!base2) return null;
|
|
@@ -29192,11 +29308,11 @@ var Hash = ({
|
|
|
29192
29308
|
const value = hash || "";
|
|
29193
29309
|
const explorer = toExplorerUrl(kind, value, chain || void 0);
|
|
29194
29310
|
const [copied, setCopied] = React13.useState(false);
|
|
29195
|
-
if (!value) return /* @__PURE__ */ (0,
|
|
29196
|
-
return /* @__PURE__ */ (0,
|
|
29197
|
-
label && /* @__PURE__ */ (0,
|
|
29198
|
-
/* @__PURE__ */ (0,
|
|
29199
|
-
showCopy && /* @__PURE__ */ (0,
|
|
29311
|
+
if (!value) return /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: cn2("text-muted-foreground", className), children: "\u2014" });
|
|
29312
|
+
return /* @__PURE__ */ (0, import_jsx_runtime133.jsxs)("div", { className: cn2("flex items-center gap-2", className), children: [
|
|
29313
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)("span", { className: "text-sm font-medium", children: label }),
|
|
29314
|
+
/* @__PURE__ */ (0, import_jsx_runtime133.jsx)("code", { className: "text-xs bg-background px-2 py-1 rounded break-all", children: truncate ? short2(value) : value }),
|
|
29315
|
+
showCopy && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
29200
29316
|
Button,
|
|
29201
29317
|
{
|
|
29202
29318
|
variant: "ghost",
|
|
@@ -29210,10 +29326,10 @@ var Hash = ({
|
|
|
29210
29326
|
} catch {
|
|
29211
29327
|
}
|
|
29212
29328
|
},
|
|
29213
|
-
children: /* @__PURE__ */ (0,
|
|
29329
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_lucide_react84.Copy, { className: "h-4 w-4" })
|
|
29214
29330
|
}
|
|
29215
29331
|
),
|
|
29216
|
-
showExplorer && explorer && /* @__PURE__ */ (0,
|
|
29332
|
+
showExplorer && explorer && /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(
|
|
29217
29333
|
"a",
|
|
29218
29334
|
{
|
|
29219
29335
|
href: explorer,
|
|
@@ -29221,7 +29337,7 @@ var Hash = ({
|
|
|
29221
29337
|
rel: "noreferrer noopener",
|
|
29222
29338
|
className: "inline-flex items-center justify-center h-10 w-10 rounded-md hover:bg-accent text-foreground",
|
|
29223
29339
|
title: "Open in explorer",
|
|
29224
|
-
children: /* @__PURE__ */ (0,
|
|
29340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime133.jsx)(import_lucide_react84.ExternalLink, { className: "h-4 w-4" })
|
|
29225
29341
|
}
|
|
29226
29342
|
)
|
|
29227
29343
|
] });
|
|
@@ -29230,7 +29346,7 @@ var Hash = ({
|
|
|
29230
29346
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
29231
29347
|
var import_react96 = require("react");
|
|
29232
29348
|
init_base();
|
|
29233
|
-
var
|
|
29349
|
+
var import_jsx_runtime134 = require("react/jsx-runtime");
|
|
29234
29350
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
29235
29351
|
const [transactions, setTransactions] = (0, import_react96.useState)([]);
|
|
29236
29352
|
const [loading, setLoading] = (0, import_react96.useState)(true);
|
|
@@ -29281,31 +29397,31 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
29281
29397
|
window.open(`${explorerUrl}/tx/${txHash}`, "_blank");
|
|
29282
29398
|
};
|
|
29283
29399
|
if (loading) {
|
|
29284
|
-
return /* @__PURE__ */ (0,
|
|
29285
|
-
/* @__PURE__ */ (0,
|
|
29286
|
-
/* @__PURE__ */ (0,
|
|
29400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "p-4 text-center", children: [
|
|
29401
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "animate-spin inline-block w-6 h-6 border-2 border-current border-t-transparent rounded-full" }),
|
|
29402
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("p", { className: "mt-2 text-sm text-gray-600", children: "Loading transactions..." })
|
|
29287
29403
|
] });
|
|
29288
29404
|
}
|
|
29289
29405
|
if (error) {
|
|
29290
|
-
return /* @__PURE__ */ (0,
|
|
29291
|
-
/* @__PURE__ */ (0,
|
|
29292
|
-
/* @__PURE__ */ (0,
|
|
29406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "p-4 text-center", children: [
|
|
29407
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("p", { className: "text-red-600 text-sm", children: error }),
|
|
29408
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("button", { onClick: () => window.location.reload(), className: "mt-2 text-blue-600 text-sm hover:underline", children: "Retry" })
|
|
29293
29409
|
] });
|
|
29294
29410
|
}
|
|
29295
29411
|
if (transactions.length === 0) {
|
|
29296
|
-
return /* @__PURE__ */ (0,
|
|
29412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "p-4 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("p", { className: "text-gray-600 text-sm", children: "No transactions found" }) });
|
|
29297
29413
|
}
|
|
29298
|
-
return /* @__PURE__ */ (0,
|
|
29414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "max-h-96 overflow-y-auto", children: /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "space-y-2 p-2", children: transactions.map((tx) => /* @__PURE__ */ (0, import_jsx_runtime134.jsxs)(
|
|
29299
29415
|
"div",
|
|
29300
29416
|
{
|
|
29301
29417
|
className: "border rounded-lg p-3 hover:bg-gray-50 cursor-pointer transition-colors",
|
|
29302
29418
|
onClick: () => openTransaction(tx.hash),
|
|
29303
29419
|
children: [
|
|
29304
|
-
/* @__PURE__ */ (0,
|
|
29305
|
-
/* @__PURE__ */ (0,
|
|
29306
|
-
/* @__PURE__ */ (0,
|
|
29307
|
-
/* @__PURE__ */ (0,
|
|
29308
|
-
/* @__PURE__ */ (0,
|
|
29420
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex justify-between items-start mb-2", children: [
|
|
29421
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex-1", children: [
|
|
29422
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "flex items-center space-x-2 mb-1", children: [
|
|
29423
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-xs font-mono bg-gray-100 px-2 py-1 rounded", children: formatAddress3(tx.hash) }),
|
|
29424
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)(
|
|
29309
29425
|
"span",
|
|
29310
29426
|
{
|
|
29311
29427
|
className: `text-xs px-2 py-1 rounded ${tx.status === "ok" ? "bg-green-100 text-green-800" : "bg-red-100 text-red-800"}`,
|
|
@@ -29313,40 +29429,40 @@ var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
|
29313
29429
|
}
|
|
29314
29430
|
)
|
|
29315
29431
|
] }),
|
|
29316
|
-
/* @__PURE__ */ (0,
|
|
29317
|
-
/* @__PURE__ */ (0,
|
|
29318
|
-
/* @__PURE__ */ (0,
|
|
29319
|
-
/* @__PURE__ */ (0,
|
|
29432
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "text-sm space-y-1", children: [
|
|
29433
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { children: [
|
|
29434
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-gray-600", children: "From:" }),
|
|
29435
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
29320
29436
|
formatAddress3(tx.from.hash),
|
|
29321
|
-
tx.from.is_contract && /* @__PURE__ */ (0,
|
|
29437
|
+
tx.from.is_contract && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
29322
29438
|
] })
|
|
29323
29439
|
] }),
|
|
29324
|
-
/* @__PURE__ */ (0,
|
|
29325
|
-
/* @__PURE__ */ (0,
|
|
29326
|
-
/* @__PURE__ */ (0,
|
|
29440
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { children: [
|
|
29441
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-gray-600", children: "To:" }),
|
|
29442
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("span", { className: "font-mono ml-1", children: [
|
|
29327
29443
|
formatAddress3(tx.to.hash),
|
|
29328
|
-
tx.to.is_contract && /* @__PURE__ */ (0,
|
|
29444
|
+
tx.to.is_contract && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-xs text-blue-600 ml-1", children: "(Contract)" })
|
|
29329
29445
|
] })
|
|
29330
29446
|
] }),
|
|
29331
|
-
/* @__PURE__ */ (0,
|
|
29332
|
-
/* @__PURE__ */ (0,
|
|
29333
|
-
/* @__PURE__ */ (0,
|
|
29447
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { children: [
|
|
29448
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-gray-600", children: "Value:" }),
|
|
29449
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("span", { className: "font-semibold ml-1", children: [
|
|
29334
29450
|
formatValue3(tx.value),
|
|
29335
29451
|
" LUMIA"
|
|
29336
29452
|
] })
|
|
29337
29453
|
] })
|
|
29338
29454
|
] })
|
|
29339
29455
|
] }),
|
|
29340
|
-
/* @__PURE__ */ (0,
|
|
29341
|
-
/* @__PURE__ */ (0,
|
|
29342
|
-
/* @__PURE__ */ (0,
|
|
29456
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "text-right text-xs text-gray-500", children: [
|
|
29457
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { children: formatDate2(tx.timestamp) }),
|
|
29458
|
+
/* @__PURE__ */ (0, import_jsx_runtime134.jsxs)("div", { className: "mt-1", children: [
|
|
29343
29459
|
"Gas: ",
|
|
29344
29460
|
parseInt(tx.gas_used).toLocaleString()
|
|
29345
29461
|
] }),
|
|
29346
|
-
tx.method && /* @__PURE__ */ (0,
|
|
29462
|
+
tx.method && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "mt-1 text-blue-600", children: tx.method })
|
|
29347
29463
|
] })
|
|
29348
29464
|
] }),
|
|
29349
|
-
tx.transaction_types.length > 0 && /* @__PURE__ */ (0,
|
|
29465
|
+
tx.transaction_types.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("div", { className: "flex flex-wrap gap-1 mt-2", children: tx.transaction_types.map((type, idx) => /* @__PURE__ */ (0, import_jsx_runtime134.jsx)("span", { className: "text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full", children: type.replace("_", " ") }, idx)) })
|
|
29350
29466
|
]
|
|
29351
29467
|
},
|
|
29352
29468
|
tx.hash
|