@matchain/matchid-sdk-react 0.1.53-alpha.18 → 0.1.53-alpha.19
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/{chunk-ZMW4L3PS.mjs → chunk-Z7L7RRWB.mjs} +188 -696
- package/dist/chunk-Z7L7RRWB.mjs.map +1 -0
- package/dist/components/index.js +121 -629
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/hooks/api/index.js +36 -52
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +1 -1
- package/dist/hooks/index.js +104 -120
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/index.js +217 -725
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/example/dist/assets/{ccip-BDKXo6px.js → ccip-BhIcA6Sl.js} +1 -1
- package/example/dist/assets/{events-BkMSjA73.js → events-CkdpRqBF.js} +1 -1
- package/example/dist/assets/{index-CYnPIZzU.js → index-BG5XIZpE.js} +1 -1
- package/example/dist/assets/{index-BoheypMD.js → index-BsarjAeg.js} +1 -1
- package/example/dist/assets/{index-B2Qlu4MF.js → index-DK7UFFe7.js} +1 -1
- package/example/dist/assets/{index-cne7xGMC.js → index-DPb8sz1C.js} +1 -1
- package/example/dist/assets/{index-CuOEfj40.js → index-JbpWt42F.js} +1 -1
- package/example/dist/assets/{index-CbmgleoF.js → index-kAjO6hfy.js} +2 -2
- package/example/dist/assets/{index-gNKTdR8a.js → index-qgo91dsq.js} +7 -7
- package/example/dist/assets/{index.es-C16A-vcZ.js → index.es-D44wzsQe.js} +3 -3
- package/example/dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/chunk-ZMW4L3PS.mjs.map +0 -1
|
@@ -611,7 +611,7 @@ var localStore = useLocalStore;
|
|
|
611
611
|
var useLocalStore_default = useLocalStore;
|
|
612
612
|
|
|
613
613
|
// src/hooks/useUserInfo.tsx
|
|
614
|
-
import { useMemo as
|
|
614
|
+
import { useMemo as useMemo16 } from "react";
|
|
615
615
|
|
|
616
616
|
// src/MatchContext.tsx
|
|
617
617
|
import { createContext as createContext3, useContext as useContext3 } from "react";
|
|
@@ -2146,8 +2146,34 @@ function UsernameModal({
|
|
|
2146
2146
|
}
|
|
2147
2147
|
|
|
2148
2148
|
// src/components/EVMModal/index.tsx
|
|
2149
|
-
import { useCallback as useCallback4, useEffect as useEffect10, useState as useState15 } from "react";
|
|
2150
2149
|
import { useIntl as useIntl9 } from "react-intl";
|
|
2150
|
+
import "@rainbow-me/rainbowkit/styles.css";
|
|
2151
|
+
import { Fragment as Fragment3, jsx as jsx16 } from "react/jsx-runtime";
|
|
2152
|
+
function WalletContent({
|
|
2153
|
+
onSuccess,
|
|
2154
|
+
type
|
|
2155
|
+
}) {
|
|
2156
|
+
return /* @__PURE__ */ jsx16(Fragment3, {});
|
|
2157
|
+
}
|
|
2158
|
+
function EVMConnectModal({
|
|
2159
|
+
type = "login",
|
|
2160
|
+
onSuccess,
|
|
2161
|
+
...props
|
|
2162
|
+
}) {
|
|
2163
|
+
const intl = useIntl9();
|
|
2164
|
+
return /* @__PURE__ */ jsx16(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2165
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2166
|
+
}, {
|
|
2167
|
+
name: "EVM"
|
|
2168
|
+
}), children: /* @__PURE__ */ jsx16(WalletContent, { onSuccess, type }) });
|
|
2169
|
+
}
|
|
2170
|
+
function EVMModal(props) {
|
|
2171
|
+
return props.isOpen && /* @__PURE__ */ jsx16(EVMConnectModal, { ...props });
|
|
2172
|
+
}
|
|
2173
|
+
|
|
2174
|
+
// src/components/TRONModal/index.tsx
|
|
2175
|
+
import React4, { useEffect as useEffect10, useMemo as useMemo8, useState as useState15 } from "react";
|
|
2176
|
+
import { useIntl as useIntl10 } from "react-intl";
|
|
2151
2177
|
|
|
2152
2178
|
// src/components/WalletModalContent/index.tsx
|
|
2153
2179
|
import { useMemo as useMemo7, useState as useState13 } from "react";
|
|
@@ -2160,7 +2186,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
2160
2186
|
var walletSigningImage = "data:image/png;base64,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";
|
|
2161
2187
|
|
|
2162
2188
|
// src/components/WalletModalContent/index.tsx
|
|
2163
|
-
import { jsx as
|
|
2189
|
+
import { jsx as jsx17, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2164
2190
|
function WalletModalContent({
|
|
2165
2191
|
status,
|
|
2166
2192
|
error,
|
|
@@ -2230,93 +2256,12 @@ function WalletModalContent({
|
|
|
2230
2256
|
statusImage: walletConnectImage
|
|
2231
2257
|
};
|
|
2232
2258
|
}, [visible, connected, status, error, address]);
|
|
2233
|
-
return /* @__PURE__ */
|
|
2259
|
+
return /* @__PURE__ */ jsx17("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-box`, children: [
|
|
2234
2260
|
/* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-content`, children: [
|
|
2235
|
-
/* @__PURE__ */
|
|
2236
|
-
/* @__PURE__ */
|
|
2261
|
+
/* @__PURE__ */ jsx17("img", { src: pageData.statusImage }),
|
|
2262
|
+
/* @__PURE__ */ jsx17("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
|
|
2237
2263
|
] }),
|
|
2238
|
-
/* @__PURE__ */
|
|
2239
|
-
Button,
|
|
2240
|
-
{
|
|
2241
|
-
block: true,
|
|
2242
|
-
size: "lg",
|
|
2243
|
-
onClick: pageData.btnClick,
|
|
2244
|
-
loading: pageData.btnLoading,
|
|
2245
|
-
disabled: pageData.btnDisabled,
|
|
2246
|
-
children: pageData.btnText
|
|
2247
|
-
}
|
|
2248
|
-
)
|
|
2249
|
-
] }) });
|
|
2250
|
-
}
|
|
2251
|
-
function WalletModalContentV2(props) {
|
|
2252
|
-
const [submitting, setSubmitting] = useState13(false);
|
|
2253
|
-
const pageData = useMemo7(() => {
|
|
2254
|
-
const { status } = props;
|
|
2255
|
-
if (status == "success") {
|
|
2256
|
-
return {
|
|
2257
|
-
btnText: "Disconnect Wallet",
|
|
2258
|
-
btnClick: async () => {
|
|
2259
|
-
setSubmitting(true);
|
|
2260
|
-
await props.onDisconnect?.();
|
|
2261
|
-
setSubmitting(false);
|
|
2262
|
-
},
|
|
2263
|
-
text: "Wallet connection successful!",
|
|
2264
|
-
statusImage: walletConnectedImage,
|
|
2265
|
-
btnLoading: submitting
|
|
2266
|
-
};
|
|
2267
|
-
}
|
|
2268
|
-
if (status == "error") {
|
|
2269
|
-
return {
|
|
2270
|
-
text: props.error || "Unknown Error",
|
|
2271
|
-
btnText: "Reconnect Wallet",
|
|
2272
|
-
btnClick: async () => {
|
|
2273
|
-
setSubmitting(true);
|
|
2274
|
-
await props.onError?.();
|
|
2275
|
-
setSubmitting(false);
|
|
2276
|
-
},
|
|
2277
|
-
statusImage: walletErrorImage,
|
|
2278
|
-
isError: true,
|
|
2279
|
-
btnLoading: submitting
|
|
2280
|
-
};
|
|
2281
|
-
}
|
|
2282
|
-
if (status == "nonce") {
|
|
2283
|
-
return {
|
|
2284
|
-
btnLoading: true,
|
|
2285
|
-
text: "Connecting",
|
|
2286
|
-
statusImage: walletConnectingImage
|
|
2287
|
-
};
|
|
2288
|
-
}
|
|
2289
|
-
if (status == "signer") {
|
|
2290
|
-
return {
|
|
2291
|
-
btnLoading: true,
|
|
2292
|
-
text: "Signing",
|
|
2293
|
-
statusImage: walletSigningImage
|
|
2294
|
-
};
|
|
2295
|
-
}
|
|
2296
|
-
if (status == "connecting") {
|
|
2297
|
-
return {
|
|
2298
|
-
btnLoading: true,
|
|
2299
|
-
text: "Connecting",
|
|
2300
|
-
statusImage: walletConnectingImage
|
|
2301
|
-
};
|
|
2302
|
-
}
|
|
2303
|
-
return {
|
|
2304
|
-
btnText: "Connect Wallet",
|
|
2305
|
-
btnClick: async () => {
|
|
2306
|
-
setSubmitting(true);
|
|
2307
|
-
await props.onConnect?.();
|
|
2308
|
-
setSubmitting(false);
|
|
2309
|
-
},
|
|
2310
|
-
text: "Please Connect your wallet",
|
|
2311
|
-
statusImage: walletConnectImage
|
|
2312
|
-
};
|
|
2313
|
-
}, [props, submitting]);
|
|
2314
|
-
return /* @__PURE__ */ jsx16("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-box`, children: [
|
|
2315
|
-
/* @__PURE__ */ jsxs12("div", { className: `matchid-wallet-content`, children: [
|
|
2316
|
-
/* @__PURE__ */ jsx16("img", { src: pageData.statusImage }),
|
|
2317
|
-
/* @__PURE__ */ jsx16("div", { className: props.status == "error" ? "matchid-error" : "", children: pageData.text })
|
|
2318
|
-
] }),
|
|
2319
|
-
/* @__PURE__ */ jsx16(
|
|
2264
|
+
/* @__PURE__ */ jsx17(
|
|
2320
2265
|
Button,
|
|
2321
2266
|
{
|
|
2322
2267
|
block: true,
|
|
@@ -2330,459 +2275,6 @@ function WalletModalContentV2(props) {
|
|
|
2330
2275
|
] }) });
|
|
2331
2276
|
}
|
|
2332
2277
|
|
|
2333
|
-
// src/components/EVMModal/index.tsx
|
|
2334
|
-
import { useConnectModal } from "@rainbow-me/rainbowkit";
|
|
2335
|
-
import { useAccount, useChainId, useConfig, useDisconnect } from "wagmi";
|
|
2336
|
-
|
|
2337
|
-
// src/hooks/useWalletBox.ts
|
|
2338
|
-
import { useEffect as useEffect9, useRef as useRef2, useState as useState14 } from "react";
|
|
2339
|
-
function useWalletBox({
|
|
2340
|
-
onInit
|
|
2341
|
-
}) {
|
|
2342
|
-
const [status, setStateStatus] = useState14("start");
|
|
2343
|
-
const [error, setError] = useState14("");
|
|
2344
|
-
const statusRef = useRef2(status);
|
|
2345
|
-
const [nonce, setNonce] = useState14();
|
|
2346
|
-
const setStatus = (status2) => {
|
|
2347
|
-
statusRef.current = status2;
|
|
2348
|
-
setStateStatus(status2);
|
|
2349
|
-
};
|
|
2350
|
-
const init = () => {
|
|
2351
|
-
setError("");
|
|
2352
|
-
setNonce(null);
|
|
2353
|
-
};
|
|
2354
|
-
useEffect9(() => {
|
|
2355
|
-
init();
|
|
2356
|
-
onInit({
|
|
2357
|
-
setStatus
|
|
2358
|
-
});
|
|
2359
|
-
return () => {
|
|
2360
|
-
setStatus("start");
|
|
2361
|
-
setNonce(null);
|
|
2362
|
-
setError("");
|
|
2363
|
-
};
|
|
2364
|
-
}, []);
|
|
2365
|
-
return {
|
|
2366
|
-
status,
|
|
2367
|
-
statusRef,
|
|
2368
|
-
setStatus,
|
|
2369
|
-
error,
|
|
2370
|
-
setError,
|
|
2371
|
-
nonce,
|
|
2372
|
-
setNonce,
|
|
2373
|
-
init
|
|
2374
|
-
};
|
|
2375
|
-
}
|
|
2376
|
-
|
|
2377
|
-
// src/hooks/useEthersSigner.ts
|
|
2378
|
-
import * as React4 from "react";
|
|
2379
|
-
import { useWalletClient } from "wagmi";
|
|
2380
|
-
import { providers } from "ethers";
|
|
2381
|
-
|
|
2382
|
-
// node_modules/@wagmi/core/dist/esm/version.js
|
|
2383
|
-
var version = "2.16.3";
|
|
2384
|
-
|
|
2385
|
-
// node_modules/@wagmi/core/dist/esm/utils/getVersion.js
|
|
2386
|
-
var getVersion2 = () => `@wagmi/core@${version}`;
|
|
2387
|
-
|
|
2388
|
-
// node_modules/@wagmi/core/dist/esm/errors/base.js
|
|
2389
|
-
var __classPrivateFieldGet = function(receiver, state, kind, f) {
|
|
2390
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
2391
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
2392
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
2393
|
-
};
|
|
2394
|
-
var _BaseError_instances;
|
|
2395
|
-
var _BaseError_walk;
|
|
2396
|
-
var BaseError = class _BaseError extends Error {
|
|
2397
|
-
get docsBaseUrl() {
|
|
2398
|
-
return "https://wagmi.sh/core";
|
|
2399
|
-
}
|
|
2400
|
-
get version() {
|
|
2401
|
-
return getVersion2();
|
|
2402
|
-
}
|
|
2403
|
-
constructor(shortMessage, options = {}) {
|
|
2404
|
-
super();
|
|
2405
|
-
_BaseError_instances.add(this);
|
|
2406
|
-
Object.defineProperty(this, "details", {
|
|
2407
|
-
enumerable: true,
|
|
2408
|
-
configurable: true,
|
|
2409
|
-
writable: true,
|
|
2410
|
-
value: void 0
|
|
2411
|
-
});
|
|
2412
|
-
Object.defineProperty(this, "docsPath", {
|
|
2413
|
-
enumerable: true,
|
|
2414
|
-
configurable: true,
|
|
2415
|
-
writable: true,
|
|
2416
|
-
value: void 0
|
|
2417
|
-
});
|
|
2418
|
-
Object.defineProperty(this, "metaMessages", {
|
|
2419
|
-
enumerable: true,
|
|
2420
|
-
configurable: true,
|
|
2421
|
-
writable: true,
|
|
2422
|
-
value: void 0
|
|
2423
|
-
});
|
|
2424
|
-
Object.defineProperty(this, "shortMessage", {
|
|
2425
|
-
enumerable: true,
|
|
2426
|
-
configurable: true,
|
|
2427
|
-
writable: true,
|
|
2428
|
-
value: void 0
|
|
2429
|
-
});
|
|
2430
|
-
Object.defineProperty(this, "name", {
|
|
2431
|
-
enumerable: true,
|
|
2432
|
-
configurable: true,
|
|
2433
|
-
writable: true,
|
|
2434
|
-
value: "WagmiCoreError"
|
|
2435
|
-
});
|
|
2436
|
-
const details = options.cause instanceof _BaseError ? options.cause.details : options.cause?.message ? options.cause.message : options.details;
|
|
2437
|
-
const docsPath = options.cause instanceof _BaseError ? options.cause.docsPath || options.docsPath : options.docsPath;
|
|
2438
|
-
this.message = [
|
|
2439
|
-
shortMessage || "An error occurred.",
|
|
2440
|
-
"",
|
|
2441
|
-
...options.metaMessages ? [...options.metaMessages, ""] : [],
|
|
2442
|
-
...docsPath ? [
|
|
2443
|
-
`Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ""}`
|
|
2444
|
-
] : [],
|
|
2445
|
-
...details ? [`Details: ${details}`] : [],
|
|
2446
|
-
`Version: ${this.version}`
|
|
2447
|
-
].join("\n");
|
|
2448
|
-
if (options.cause)
|
|
2449
|
-
this.cause = options.cause;
|
|
2450
|
-
this.details = details;
|
|
2451
|
-
this.docsPath = docsPath;
|
|
2452
|
-
this.metaMessages = options.metaMessages;
|
|
2453
|
-
this.shortMessage = shortMessage;
|
|
2454
|
-
}
|
|
2455
|
-
walk(fn) {
|
|
2456
|
-
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk).call(this, this, fn);
|
|
2457
|
-
}
|
|
2458
|
-
};
|
|
2459
|
-
_BaseError_instances = /* @__PURE__ */ new WeakSet(), _BaseError_walk = function _BaseError_walk2(err, fn) {
|
|
2460
|
-
if (fn?.(err))
|
|
2461
|
-
return err;
|
|
2462
|
-
if (err.cause)
|
|
2463
|
-
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk2).call(this, err.cause, fn);
|
|
2464
|
-
return err;
|
|
2465
|
-
};
|
|
2466
|
-
|
|
2467
|
-
// node_modules/@wagmi/core/dist/esm/errors/config.js
|
|
2468
|
-
var ConnectorNotConnectedError = class extends BaseError {
|
|
2469
|
-
constructor() {
|
|
2470
|
-
super("Connector not connected.");
|
|
2471
|
-
Object.defineProperty(this, "name", {
|
|
2472
|
-
enumerable: true,
|
|
2473
|
-
configurable: true,
|
|
2474
|
-
writable: true,
|
|
2475
|
-
value: "ConnectorNotConnectedError"
|
|
2476
|
-
});
|
|
2477
|
-
}
|
|
2478
|
-
};
|
|
2479
|
-
var ConnectorAccountNotFoundError = class extends BaseError {
|
|
2480
|
-
constructor({ address, connector }) {
|
|
2481
|
-
super(`Account "${address}" not found for connector "${connector.name}".`);
|
|
2482
|
-
Object.defineProperty(this, "name", {
|
|
2483
|
-
enumerable: true,
|
|
2484
|
-
configurable: true,
|
|
2485
|
-
writable: true,
|
|
2486
|
-
value: "ConnectorAccountNotFoundError"
|
|
2487
|
-
});
|
|
2488
|
-
}
|
|
2489
|
-
};
|
|
2490
|
-
var ConnectorChainMismatchError = class extends BaseError {
|
|
2491
|
-
constructor({ connectionChainId, connectorChainId }) {
|
|
2492
|
-
super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {
|
|
2493
|
-
metaMessages: [
|
|
2494
|
-
`Current Chain ID: ${connectorChainId}`,
|
|
2495
|
-
`Expected Chain ID: ${connectionChainId}`
|
|
2496
|
-
]
|
|
2497
|
-
});
|
|
2498
|
-
Object.defineProperty(this, "name", {
|
|
2499
|
-
enumerable: true,
|
|
2500
|
-
configurable: true,
|
|
2501
|
-
writable: true,
|
|
2502
|
-
value: "ConnectorChainMismatchError"
|
|
2503
|
-
});
|
|
2504
|
-
}
|
|
2505
|
-
};
|
|
2506
|
-
var ConnectorUnavailableReconnectingError = class extends BaseError {
|
|
2507
|
-
constructor({ connector }) {
|
|
2508
|
-
super(`Connector "${connector.name}" unavailable while reconnecting.`, {
|
|
2509
|
-
details: [
|
|
2510
|
-
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uid`.",
|
|
2511
|
-
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
2512
|
-
"This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
|
|
2513
|
-
].join(" ")
|
|
2514
|
-
});
|
|
2515
|
-
Object.defineProperty(this, "name", {
|
|
2516
|
-
enumerable: true,
|
|
2517
|
-
configurable: true,
|
|
2518
|
-
writable: true,
|
|
2519
|
-
value: "ConnectorUnavailableReconnectingError"
|
|
2520
|
-
});
|
|
2521
|
-
}
|
|
2522
|
-
};
|
|
2523
|
-
|
|
2524
|
-
// node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js
|
|
2525
|
-
import { createClient, custom } from "viem";
|
|
2526
|
-
import { getAddress, parseAccount } from "viem/utils";
|
|
2527
|
-
async function getConnectorClient(config, parameters = {}) {
|
|
2528
|
-
let connection;
|
|
2529
|
-
if (parameters.connector) {
|
|
2530
|
-
const { connector: connector2 } = parameters;
|
|
2531
|
-
if (config.state.status === "reconnecting" && !connector2.getAccounts && !connector2.getChainId)
|
|
2532
|
-
throw new ConnectorUnavailableReconnectingError({ connector: connector2 });
|
|
2533
|
-
const [accounts, chainId2] = await Promise.all([
|
|
2534
|
-
connector2.getAccounts(),
|
|
2535
|
-
connector2.getChainId()
|
|
2536
|
-
]);
|
|
2537
|
-
connection = {
|
|
2538
|
-
accounts,
|
|
2539
|
-
chainId: chainId2,
|
|
2540
|
-
connector: connector2
|
|
2541
|
-
};
|
|
2542
|
-
} else
|
|
2543
|
-
connection = config.state.connections.get(config.state.current);
|
|
2544
|
-
if (!connection)
|
|
2545
|
-
throw new ConnectorNotConnectedError();
|
|
2546
|
-
const chainId = parameters.chainId ?? connection.chainId;
|
|
2547
|
-
const connectorChainId = await connection.connector.getChainId();
|
|
2548
|
-
if (connectorChainId !== connection.chainId)
|
|
2549
|
-
throw new ConnectorChainMismatchError({
|
|
2550
|
-
connectionChainId: connection.chainId,
|
|
2551
|
-
connectorChainId
|
|
2552
|
-
});
|
|
2553
|
-
const connector = connection.connector;
|
|
2554
|
-
if (connector.getClient)
|
|
2555
|
-
return connector.getClient({ chainId });
|
|
2556
|
-
const account = parseAccount(parameters.account ?? connection.accounts[0]);
|
|
2557
|
-
account.address = getAddress(account.address);
|
|
2558
|
-
if (parameters.account && !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))
|
|
2559
|
-
throw new ConnectorAccountNotFoundError({
|
|
2560
|
-
address: account.address,
|
|
2561
|
-
connector
|
|
2562
|
-
});
|
|
2563
|
-
const chain = config.chains.find((chain2) => chain2.id === chainId);
|
|
2564
|
-
const provider = await connection.connector.getProvider({ chainId });
|
|
2565
|
-
return createClient({
|
|
2566
|
-
account,
|
|
2567
|
-
chain,
|
|
2568
|
-
name: "Connector Client",
|
|
2569
|
-
transport: (opts) => custom(provider)({ ...opts, retryCount: 0 })
|
|
2570
|
-
});
|
|
2571
|
-
}
|
|
2572
|
-
|
|
2573
|
-
// node_modules/@wagmi/core/dist/esm/exports/index.js
|
|
2574
|
-
import { custom as custom2, http as http3, webSocket } from "viem";
|
|
2575
|
-
|
|
2576
|
-
// src/hooks/useEthersSigner.ts
|
|
2577
|
-
function clientToSigner(client) {
|
|
2578
|
-
const { account, chain, transport } = client;
|
|
2579
|
-
const network = {
|
|
2580
|
-
chainId: chain.id,
|
|
2581
|
-
name: chain.name,
|
|
2582
|
-
ensAddress: chain.contracts?.ensRegistry?.address
|
|
2583
|
-
};
|
|
2584
|
-
const provider = new providers.Web3Provider(transport, network);
|
|
2585
|
-
const signer = provider.getSigner(account.address);
|
|
2586
|
-
return signer;
|
|
2587
|
-
}
|
|
2588
|
-
async function getEthersSigner(config, { chainId } = {}) {
|
|
2589
|
-
const client = await getConnectorClient(config, { chainId });
|
|
2590
|
-
return clientToSigner(client);
|
|
2591
|
-
}
|
|
2592
|
-
|
|
2593
|
-
// src/components/EVMModal/index.tsx
|
|
2594
|
-
import { SiweMessage } from "siwe";
|
|
2595
|
-
import "@rainbow-me/rainbowkit/styles.css";
|
|
2596
|
-
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
2597
|
-
function WalletContent({
|
|
2598
|
-
onSuccess,
|
|
2599
|
-
type
|
|
2600
|
-
}) {
|
|
2601
|
-
const config = useConfig();
|
|
2602
|
-
const { openConnectModal, connectModalOpen } = useConnectModal();
|
|
2603
|
-
const { address, connector, isConnected } = useAccount();
|
|
2604
|
-
const { disconnectAsync } = useDisconnect({ config });
|
|
2605
|
-
const chainId = useChainId();
|
|
2606
|
-
const { events, login } = useMatch();
|
|
2607
|
-
const [inited, setInited] = useState15(false);
|
|
2608
|
-
const { status, setStatus, error, setError, statusRef, nonce, setNonce, init } = useWalletBox({
|
|
2609
|
-
onInit: async ({ setStatus: setStatus2 }) => {
|
|
2610
|
-
setStatus2("start");
|
|
2611
|
-
}
|
|
2612
|
-
});
|
|
2613
|
-
useEffect10(() => {
|
|
2614
|
-
matchlog_default.log(`status=${status}`, `connectModalOpen=${connectModalOpen}`, `address=${address}`, `isConnected=${isConnected}`);
|
|
2615
|
-
}, [status, connectModalOpen, isConnected, address]);
|
|
2616
|
-
useEffect10(() => {
|
|
2617
|
-
if (connectModalOpen) {
|
|
2618
|
-
setStatus("connecting");
|
|
2619
|
-
return;
|
|
2620
|
-
}
|
|
2621
|
-
if (!connectModalOpen && address) {
|
|
2622
|
-
toLoginInWallet(address);
|
|
2623
|
-
return;
|
|
2624
|
-
}
|
|
2625
|
-
if (!connectModalOpen && !address) {
|
|
2626
|
-
setStatus("start");
|
|
2627
|
-
}
|
|
2628
|
-
}, [connectModalOpen, address]);
|
|
2629
|
-
useEffect10(() => {
|
|
2630
|
-
if (openConnectModal && !isConnected && !inited) {
|
|
2631
|
-
openConnectModal && openConnectModal();
|
|
2632
|
-
setInited(true);
|
|
2633
|
-
}
|
|
2634
|
-
}, [openConnectModal, inited]);
|
|
2635
|
-
const toLoginInWallet = async (address2) => {
|
|
2636
|
-
if (statusRef.current != "start" && statusRef.current != "connecting") return;
|
|
2637
|
-
try {
|
|
2638
|
-
if (!address2) {
|
|
2639
|
-
throw new Error("Wallet address is empty");
|
|
2640
|
-
}
|
|
2641
|
-
setStatus("nonce");
|
|
2642
|
-
const res = type == "bind" ? await getWalletInitApi({
|
|
2643
|
-
address: address2,
|
|
2644
|
-
type: "EVM"
|
|
2645
|
-
}) : await getWalletNonceApi({ address: address2, type: "EVM" });
|
|
2646
|
-
if (!isSuccess(res)) {
|
|
2647
|
-
throw new Error(res.message);
|
|
2648
|
-
}
|
|
2649
|
-
setNonce(res.data.nonce);
|
|
2650
|
-
} catch (error2) {
|
|
2651
|
-
console.error("toLoginInWallet", error2);
|
|
2652
|
-
setStatus("error");
|
|
2653
|
-
setError(error2.message);
|
|
2654
|
-
}
|
|
2655
|
-
};
|
|
2656
|
-
const signature = useCallback4(async () => {
|
|
2657
|
-
if (!nonce || status != "nonce") {
|
|
2658
|
-
return;
|
|
2659
|
-
}
|
|
2660
|
-
try {
|
|
2661
|
-
const signer = await getEthersSigner(config);
|
|
2662
|
-
if (!signer) return;
|
|
2663
|
-
matchlog_default.log("signature", nonce, status);
|
|
2664
|
-
if (!address) {
|
|
2665
|
-
throw new Error("Wallet address is empty");
|
|
2666
|
-
}
|
|
2667
|
-
setStatus("signer");
|
|
2668
|
-
const params = {
|
|
2669
|
-
domain: window.location.host,
|
|
2670
|
-
address,
|
|
2671
|
-
statement: "By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",
|
|
2672
|
-
uri: window.location.origin,
|
|
2673
|
-
nonce,
|
|
2674
|
-
version: "1",
|
|
2675
|
-
chainId
|
|
2676
|
-
};
|
|
2677
|
-
const message = new SiweMessage({ ...params });
|
|
2678
|
-
const signature2 = await signer.signMessage(message.prepareMessage());
|
|
2679
|
-
const obj = {
|
|
2680
|
-
type: "EVM",
|
|
2681
|
-
address,
|
|
2682
|
-
signature: signature2,
|
|
2683
|
-
message: `${message.prepareMessage()}`,
|
|
2684
|
-
connector_type: connector?.type || "",
|
|
2685
|
-
wallet_client_type: connector?.name || ""
|
|
2686
|
-
};
|
|
2687
|
-
const res = type == "bind" ? await toBindWalletApi(obj) : await loginByWalletApi(obj);
|
|
2688
|
-
if (!isSuccess(res)) {
|
|
2689
|
-
throw new Error(res.message);
|
|
2690
|
-
}
|
|
2691
|
-
matchlog_default.log(res);
|
|
2692
|
-
setStatus("success");
|
|
2693
|
-
if (type == "bind") {
|
|
2694
|
-
events.onBind && events.onBind({
|
|
2695
|
-
type: "evm"
|
|
2696
|
-
});
|
|
2697
|
-
eventManager_default.emit("onBind", {
|
|
2698
|
-
type: "evm"
|
|
2699
|
-
});
|
|
2700
|
-
} else {
|
|
2701
|
-
await login({
|
|
2702
|
-
token: `${res.data.token_type} ${res.data.access_token}`
|
|
2703
|
-
});
|
|
2704
|
-
}
|
|
2705
|
-
onSuccess && onSuccess();
|
|
2706
|
-
} catch (error2) {
|
|
2707
|
-
console.error("signature", error2);
|
|
2708
|
-
setStatus("error");
|
|
2709
|
-
setError(error2.reason || error2.message);
|
|
2710
|
-
}
|
|
2711
|
-
}, [nonce, status, address]);
|
|
2712
|
-
useEffect10(() => {
|
|
2713
|
-
if (signature) {
|
|
2714
|
-
signature();
|
|
2715
|
-
}
|
|
2716
|
-
}, [signature]);
|
|
2717
|
-
const onError = async () => {
|
|
2718
|
-
if (isConnected) {
|
|
2719
|
-
try {
|
|
2720
|
-
await disconnectAsync();
|
|
2721
|
-
} catch (error2) {
|
|
2722
|
-
console.error("disconnectAsync", error2);
|
|
2723
|
-
}
|
|
2724
|
-
}
|
|
2725
|
-
setError("");
|
|
2726
|
-
setNonce(void 0);
|
|
2727
|
-
setStatus("start");
|
|
2728
|
-
openConnectModal?.();
|
|
2729
|
-
};
|
|
2730
|
-
const onConnect = async () => {
|
|
2731
|
-
if (isConnected) {
|
|
2732
|
-
try {
|
|
2733
|
-
await disconnectAsync();
|
|
2734
|
-
} catch (error2) {
|
|
2735
|
-
console.error("disconnectAsync", error2);
|
|
2736
|
-
}
|
|
2737
|
-
}
|
|
2738
|
-
setError("");
|
|
2739
|
-
setNonce(void 0);
|
|
2740
|
-
openConnectModal?.();
|
|
2741
|
-
};
|
|
2742
|
-
const onDisconnect = async () => {
|
|
2743
|
-
if (isConnected) {
|
|
2744
|
-
try {
|
|
2745
|
-
await disconnectAsync();
|
|
2746
|
-
} catch (error2) {
|
|
2747
|
-
console.error("disconnectAsync", error2);
|
|
2748
|
-
}
|
|
2749
|
-
}
|
|
2750
|
-
setError("");
|
|
2751
|
-
setNonce(void 0);
|
|
2752
|
-
setStatus("start");
|
|
2753
|
-
};
|
|
2754
|
-
return /* @__PURE__ */ jsx17(
|
|
2755
|
-
WalletModalContentV2,
|
|
2756
|
-
{
|
|
2757
|
-
status,
|
|
2758
|
-
onSuccess: async () => onSuccess?.(),
|
|
2759
|
-
error,
|
|
2760
|
-
onError,
|
|
2761
|
-
onConnect,
|
|
2762
|
-
onDisconnect
|
|
2763
|
-
}
|
|
2764
|
-
);
|
|
2765
|
-
}
|
|
2766
|
-
function EVMConnectModal({
|
|
2767
|
-
type = "login",
|
|
2768
|
-
onSuccess,
|
|
2769
|
-
...props
|
|
2770
|
-
}) {
|
|
2771
|
-
const intl = useIntl9();
|
|
2772
|
-
return /* @__PURE__ */ jsx17(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
2773
|
-
id: type == "bind" ? "bindWith" : "loginWith"
|
|
2774
|
-
}, {
|
|
2775
|
-
name: "EVM"
|
|
2776
|
-
}), children: /* @__PURE__ */ jsx17(WalletContent, { onSuccess, type }) });
|
|
2777
|
-
}
|
|
2778
|
-
function EVMModal(props) {
|
|
2779
|
-
return props.isOpen && /* @__PURE__ */ jsx17(EVMConnectModal, { ...props });
|
|
2780
|
-
}
|
|
2781
|
-
|
|
2782
|
-
// src/components/TRONModal/index.tsx
|
|
2783
|
-
import React6, { useEffect as useEffect12, useMemo as useMemo9, useState as useState17 } from "react";
|
|
2784
|
-
import { useIntl as useIntl10 } from "react-intl";
|
|
2785
|
-
|
|
2786
2278
|
// src/lib/tron/TronLinkAdapter.ts
|
|
2787
2279
|
var TronLinkAdapter = class {
|
|
2788
2280
|
constructor() {
|
|
@@ -2814,7 +2306,7 @@ var TronLinkAdapter = class {
|
|
|
2814
2306
|
};
|
|
2815
2307
|
|
|
2816
2308
|
// src/hooks/useTRONWallet.ts
|
|
2817
|
-
import { useEffect as
|
|
2309
|
+
import { useEffect as useEffect9, useState as useState14 } from "react";
|
|
2818
2310
|
|
|
2819
2311
|
// src/lib/tron/BitgetAdapter.ts
|
|
2820
2312
|
var BitgetAdapter = class {
|
|
@@ -2859,9 +2351,9 @@ var OKXAdapter = class {
|
|
|
2859
2351
|
// src/hooks/useTRONWallet.ts
|
|
2860
2352
|
var useTRONWallet = () => {
|
|
2861
2353
|
const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
2862
|
-
const [installedWallets, setInstalledWallets] =
|
|
2863
|
-
const [address, setAddress] =
|
|
2864
|
-
|
|
2354
|
+
const [installedWallets, setInstalledWallets] = useState14([]);
|
|
2355
|
+
const [address, setAddress] = useState14(null);
|
|
2356
|
+
useEffect9(() => {
|
|
2865
2357
|
const getInstalled = async () => {
|
|
2866
2358
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
2867
2359
|
wallet: wallet2,
|
|
@@ -2871,11 +2363,11 @@ var useTRONWallet = () => {
|
|
|
2871
2363
|
};
|
|
2872
2364
|
getInstalled();
|
|
2873
2365
|
}, []);
|
|
2874
|
-
const [wallet, chooseWallet] =
|
|
2366
|
+
const [wallet, chooseWallet] = useState14(null);
|
|
2875
2367
|
const onConnect = async () => {
|
|
2876
2368
|
setAddress(await wallet.connect());
|
|
2877
2369
|
};
|
|
2878
|
-
|
|
2370
|
+
useEffect9(() => {
|
|
2879
2371
|
if (!wallet) {
|
|
2880
2372
|
setAddress(null);
|
|
2881
2373
|
}
|
|
@@ -2906,10 +2398,10 @@ function TRONConnectModal({
|
|
|
2906
2398
|
okx: /* @__PURE__ */ jsx18(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
2907
2399
|
};
|
|
2908
2400
|
const { events, login } = useMatch();
|
|
2909
|
-
const [status, setStatus] =
|
|
2910
|
-
const statusRef =
|
|
2911
|
-
const [error, setError] =
|
|
2912
|
-
const connected =
|
|
2401
|
+
const [status, setStatus] = useState15("");
|
|
2402
|
+
const statusRef = React4.useRef(status);
|
|
2403
|
+
const [error, setError] = useState15("");
|
|
2404
|
+
const connected = useMemo8(() => {
|
|
2913
2405
|
return !!address;
|
|
2914
2406
|
}, [address]);
|
|
2915
2407
|
const disconnect = async () => {
|
|
@@ -2977,7 +2469,7 @@ function TRONConnectModal({
|
|
|
2977
2469
|
statusRef.current = "";
|
|
2978
2470
|
}
|
|
2979
2471
|
};
|
|
2980
|
-
|
|
2472
|
+
useEffect10(() => {
|
|
2981
2473
|
if (wallet) {
|
|
2982
2474
|
console.log("onConnect");
|
|
2983
2475
|
onConnect();
|
|
@@ -2985,12 +2477,12 @@ function TRONConnectModal({
|
|
|
2985
2477
|
setStatus("");
|
|
2986
2478
|
}
|
|
2987
2479
|
}, [wallet]);
|
|
2988
|
-
|
|
2480
|
+
useEffect10(() => {
|
|
2989
2481
|
if (address) {
|
|
2990
2482
|
toLoginInWallet();
|
|
2991
2483
|
}
|
|
2992
2484
|
}, [address]);
|
|
2993
|
-
|
|
2485
|
+
useEffect10(() => {
|
|
2994
2486
|
if (!props.isOpen) {
|
|
2995
2487
|
disconnect();
|
|
2996
2488
|
}
|
|
@@ -3048,7 +2540,7 @@ function TRONModal(props) {
|
|
|
3048
2540
|
}
|
|
3049
2541
|
|
|
3050
2542
|
// src/components/TONModal/index.tsx
|
|
3051
|
-
import
|
|
2543
|
+
import React5, { useEffect as useEffect11, useState as useState16 } from "react";
|
|
3052
2544
|
import { useIntl as useIntl11 } from "react-intl";
|
|
3053
2545
|
import {
|
|
3054
2546
|
TonConnectUIProvider,
|
|
@@ -3063,15 +2555,15 @@ function WalletContent2({
|
|
|
3063
2555
|
type
|
|
3064
2556
|
}) {
|
|
3065
2557
|
const { events, login } = useMatch();
|
|
3066
|
-
const [connected, setConnected] =
|
|
2558
|
+
const [connected, setConnected] = useState16(false);
|
|
3067
2559
|
const wallet = useTonWallet();
|
|
3068
2560
|
const userFriendlyAddress = useTonAddress();
|
|
3069
2561
|
const [tonConnectUI] = useTonConnectUI();
|
|
3070
2562
|
const { state, open, close } = useTonConnectModal();
|
|
3071
|
-
const [status, setStatus] =
|
|
3072
|
-
const statusRef =
|
|
3073
|
-
const [error, setError] =
|
|
3074
|
-
|
|
2563
|
+
const [status, setStatus] = useState16("");
|
|
2564
|
+
const statusRef = React5.useRef(status);
|
|
2565
|
+
const [error, setError] = useState16("");
|
|
2566
|
+
useEffect11(() => {
|
|
3075
2567
|
const init = async () => {
|
|
3076
2568
|
if (tonConnectUI.connected) {
|
|
3077
2569
|
await tonConnectUI.disconnect();
|
|
@@ -3144,7 +2636,7 @@ function WalletContent2({
|
|
|
3144
2636
|
}
|
|
3145
2637
|
});
|
|
3146
2638
|
}, []);
|
|
3147
|
-
|
|
2639
|
+
useEffect11(() => {
|
|
3148
2640
|
if (wallet) {
|
|
3149
2641
|
setConnected(true);
|
|
3150
2642
|
console.log("Wallet connected:", wallet);
|
|
@@ -3155,7 +2647,7 @@ function WalletContent2({
|
|
|
3155
2647
|
setStatus("");
|
|
3156
2648
|
}
|
|
3157
2649
|
}, [wallet]);
|
|
3158
|
-
|
|
2650
|
+
useEffect11(() => {
|
|
3159
2651
|
console.log({
|
|
3160
2652
|
state,
|
|
3161
2653
|
wallet
|
|
@@ -3235,7 +2727,7 @@ function TONModal(props) {
|
|
|
3235
2727
|
}
|
|
3236
2728
|
|
|
3237
2729
|
// src/components/BTCModal/index.tsx
|
|
3238
|
-
import
|
|
2730
|
+
import React6, { useEffect as useEffect13, useMemo as useMemo9, useState as useState18 } from "react";
|
|
3239
2731
|
import { useIntl as useIntl12 } from "react-intl";
|
|
3240
2732
|
|
|
3241
2733
|
// src/lib/btc/UnisatAdapter.ts
|
|
@@ -3390,7 +2882,7 @@ var LeatherAdapter = class {
|
|
|
3390
2882
|
};
|
|
3391
2883
|
|
|
3392
2884
|
// src/hooks/useBTCWallet.ts
|
|
3393
|
-
import { useEffect as
|
|
2885
|
+
import { useEffect as useEffect12, useState as useState17 } from "react";
|
|
3394
2886
|
|
|
3395
2887
|
// src/lib/btc/PhantomAdapter.ts
|
|
3396
2888
|
var PhantomAdapter = class {
|
|
@@ -3428,9 +2920,9 @@ var PhantomAdapter = class {
|
|
|
3428
2920
|
// src/hooks/useBTCWallet.ts
|
|
3429
2921
|
var useBTCWallet = () => {
|
|
3430
2922
|
const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
|
|
3431
|
-
const [installedWallets, setInstalledWallets] =
|
|
3432
|
-
const [address, setAddress] =
|
|
3433
|
-
|
|
2923
|
+
const [installedWallets, setInstalledWallets] = useState17([]);
|
|
2924
|
+
const [address, setAddress] = useState17(null);
|
|
2925
|
+
useEffect12(() => {
|
|
3434
2926
|
const getInstalled = async () => {
|
|
3435
2927
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
3436
2928
|
wallet: wallet2,
|
|
@@ -3440,11 +2932,11 @@ var useBTCWallet = () => {
|
|
|
3440
2932
|
};
|
|
3441
2933
|
getInstalled();
|
|
3442
2934
|
}, []);
|
|
3443
|
-
const [wallet, chooseWallet] =
|
|
2935
|
+
const [wallet, chooseWallet] = useState17(null);
|
|
3444
2936
|
const onConnect = async () => {
|
|
3445
2937
|
setAddress(await wallet.connect());
|
|
3446
2938
|
};
|
|
3447
|
-
|
|
2939
|
+
useEffect12(() => {
|
|
3448
2940
|
if (!wallet) {
|
|
3449
2941
|
setAddress(null);
|
|
3450
2942
|
}
|
|
@@ -3476,10 +2968,10 @@ function BTCConnectModal({
|
|
|
3476
2968
|
phantom: /* @__PURE__ */ jsx20(PhantomIcon, { size: isDownMd ? 36 : 40 })
|
|
3477
2969
|
};
|
|
3478
2970
|
const { events, login } = useMatch();
|
|
3479
|
-
const [status, setStatus] =
|
|
3480
|
-
const statusRef =
|
|
3481
|
-
const [error, setError] =
|
|
3482
|
-
const connected =
|
|
2971
|
+
const [status, setStatus] = useState18("");
|
|
2972
|
+
const statusRef = React6.useRef(status);
|
|
2973
|
+
const [error, setError] = useState18("");
|
|
2974
|
+
const connected = useMemo9(() => {
|
|
3483
2975
|
return !!address;
|
|
3484
2976
|
}, [address]);
|
|
3485
2977
|
const disconnect = async () => {
|
|
@@ -3543,7 +3035,7 @@ function BTCConnectModal({
|
|
|
3543
3035
|
statusRef.current = "";
|
|
3544
3036
|
}
|
|
3545
3037
|
};
|
|
3546
|
-
|
|
3038
|
+
useEffect13(() => {
|
|
3547
3039
|
if (wallet) {
|
|
3548
3040
|
console.log("onConnect");
|
|
3549
3041
|
try {
|
|
@@ -3556,12 +3048,12 @@ function BTCConnectModal({
|
|
|
3556
3048
|
setStatus("");
|
|
3557
3049
|
}
|
|
3558
3050
|
}, [wallet]);
|
|
3559
|
-
|
|
3051
|
+
useEffect13(() => {
|
|
3560
3052
|
if (address) {
|
|
3561
3053
|
toLoginInWallet();
|
|
3562
3054
|
}
|
|
3563
3055
|
}, [address]);
|
|
3564
|
-
|
|
3056
|
+
useEffect13(() => {
|
|
3565
3057
|
if (!props.isOpen) {
|
|
3566
3058
|
disconnect();
|
|
3567
3059
|
}
|
|
@@ -3626,7 +3118,7 @@ function BTCModal(props) {
|
|
|
3626
3118
|
}
|
|
3627
3119
|
|
|
3628
3120
|
// src/components/WalletModal/index.tsx
|
|
3629
|
-
import { useMemo as
|
|
3121
|
+
import { useMemo as useMemo10 } from "react";
|
|
3630
3122
|
import { useIntl as useIntl13 } from "react-intl";
|
|
3631
3123
|
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
3632
3124
|
function WalletConnectModal({
|
|
@@ -3638,7 +3130,7 @@ function WalletConnectModal({
|
|
|
3638
3130
|
const { walletMap } = useWalletConfig();
|
|
3639
3131
|
const { bind, login } = useUserInfo();
|
|
3640
3132
|
const config = useAppConfig();
|
|
3641
|
-
const methods =
|
|
3133
|
+
const methods = useMemo10(() => {
|
|
3642
3134
|
if (_methods) return _methods;
|
|
3643
3135
|
if (!config.platform) {
|
|
3644
3136
|
return [];
|
|
@@ -3670,11 +3162,11 @@ function WalletModal(props) {
|
|
|
3670
3162
|
}
|
|
3671
3163
|
|
|
3672
3164
|
// src/components/AlphaAvatar/index.tsx
|
|
3673
|
-
import { useEffect as
|
|
3165
|
+
import { useEffect as useEffect14, useState as useState19 } from "react";
|
|
3674
3166
|
import { jsx as jsx22 } from "react/jsx-runtime";
|
|
3675
3167
|
function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
3676
|
-
const [avatar, setAvatar] =
|
|
3677
|
-
|
|
3168
|
+
const [avatar, setAvatar] = useState19(void 0);
|
|
3169
|
+
useEffect14(() => {
|
|
3678
3170
|
if (name) {
|
|
3679
3171
|
const char = name[0].toUpperCase();
|
|
3680
3172
|
setAvatar(char);
|
|
@@ -3771,8 +3263,8 @@ function WalletAsset({
|
|
|
3771
3263
|
}
|
|
3772
3264
|
|
|
3773
3265
|
// src/components/TokenSend/index.tsx
|
|
3774
|
-
import { useEffect as
|
|
3775
|
-
import { defineChain, encodeFunctionData as encodeFunctionData2, erc20Abi, http as
|
|
3266
|
+
import { useEffect as useEffect15, useMemo as useMemo11, useState as useState20 } from "react";
|
|
3267
|
+
import { defineChain, encodeFunctionData as encodeFunctionData2, erc20Abi, http as http3, parseUnits as parseUnits2 } from "viem";
|
|
3776
3268
|
import { FormattedMessage as FormattedMessage9, useIntl as useIntl14 } from "react-intl";
|
|
3777
3269
|
import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
3778
3270
|
function Input2({
|
|
@@ -3809,22 +3301,22 @@ function TokenSend({
|
|
|
3809
3301
|
const intl = useIntl14();
|
|
3810
3302
|
const { createWalletClient: createWalletClient2 } = useWallet();
|
|
3811
3303
|
const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
|
|
3812
|
-
const chain =
|
|
3304
|
+
const chain = useMemo11(() => {
|
|
3813
3305
|
return chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
3814
3306
|
}, [chainList, token.chain_id]);
|
|
3815
|
-
const walletClient =
|
|
3307
|
+
const walletClient = useMemo11(() => {
|
|
3816
3308
|
return createWalletClient2({
|
|
3817
3309
|
// @ts-ignore
|
|
3818
3310
|
chain: defineChain(chain),
|
|
3819
|
-
transport:
|
|
3311
|
+
transport: http3()
|
|
3820
3312
|
});
|
|
3821
3313
|
}, [chain]);
|
|
3822
|
-
const [amount, setAmount] =
|
|
3823
|
-
const [address, setAddress] =
|
|
3824
|
-
const [loading, setLoading] =
|
|
3825
|
-
const [sending, setSending] =
|
|
3826
|
-
const [txError, setTxError] =
|
|
3827
|
-
const transaction =
|
|
3314
|
+
const [amount, setAmount] = useState20("");
|
|
3315
|
+
const [address, setAddress] = useState20("");
|
|
3316
|
+
const [loading, setLoading] = useState20(false);
|
|
3317
|
+
const [sending, setSending] = useState20(false);
|
|
3318
|
+
const [txError, setTxError] = useState20("");
|
|
3319
|
+
const transaction = useMemo11(() => {
|
|
3828
3320
|
const reg = /^0x[a-fA-F0-9]{40}$/;
|
|
3829
3321
|
if (!amount || !address || !reg.test(address)) {
|
|
3830
3322
|
return;
|
|
@@ -3855,7 +3347,7 @@ function TokenSend({
|
|
|
3855
3347
|
setLoading(false);
|
|
3856
3348
|
}
|
|
3857
3349
|
};
|
|
3858
|
-
const error =
|
|
3350
|
+
const error = useMemo11(() => {
|
|
3859
3351
|
setTxError("");
|
|
3860
3352
|
let amountError = "";
|
|
3861
3353
|
let addressError = "";
|
|
@@ -3898,7 +3390,7 @@ function TokenSend({
|
|
|
3898
3390
|
setAmount(value);
|
|
3899
3391
|
}
|
|
3900
3392
|
};
|
|
3901
|
-
const canSend =
|
|
3393
|
+
const canSend = useMemo11(() => {
|
|
3902
3394
|
return !error.amount && !error.address && amount && address;
|
|
3903
3395
|
}, [error]);
|
|
3904
3396
|
const onNext = async () => {
|
|
@@ -3908,7 +3400,7 @@ function TokenSend({
|
|
|
3908
3400
|
}
|
|
3909
3401
|
onClose();
|
|
3910
3402
|
};
|
|
3911
|
-
|
|
3403
|
+
useEffect15(() => {
|
|
3912
3404
|
const receiveMessage = (event) => {
|
|
3913
3405
|
if (event.data) {
|
|
3914
3406
|
if (event.data.source == "match-wallet") {
|
|
@@ -4040,7 +3532,7 @@ function TokenDetail({
|
|
|
4040
3532
|
}
|
|
4041
3533
|
|
|
4042
3534
|
// src/components/TokenSendList/index.tsx
|
|
4043
|
-
import { useState as
|
|
3535
|
+
import { useState as useState21 } from "react";
|
|
4044
3536
|
import { FormattedMessage as FormattedMessage11 } from "react-intl";
|
|
4045
3537
|
import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
4046
3538
|
function TokenSendList({ close }) {
|
|
@@ -4050,7 +3542,7 @@ function TokenSendList({ close }) {
|
|
|
4050
3542
|
list: walletAssets.mergedAssets
|
|
4051
3543
|
});
|
|
4052
3544
|
const { list } = useMatchChain();
|
|
4053
|
-
const [checked, setChecked] =
|
|
3545
|
+
const [checked, setChecked] = useState21();
|
|
4054
3546
|
const modal = useModal();
|
|
4055
3547
|
const onNext = () => {
|
|
4056
3548
|
checked && modal.show((props) => {
|
|
@@ -4107,7 +3599,7 @@ function TokenSendList({ close }) {
|
|
|
4107
3599
|
|
|
4108
3600
|
// src/components/TransactionList/index.tsx
|
|
4109
3601
|
import InfiniteScroll from "react-infinite-scroll-component";
|
|
4110
|
-
import { useEffect as
|
|
3602
|
+
import { useEffect as useEffect16, useMemo as useMemo12, useState as useState22 } from "react";
|
|
4111
3603
|
import { decodeFunctionData, defineChain as defineChain2, formatUnits as formatUnits2 } from "viem";
|
|
4112
3604
|
import { erc20Abi as erc20Abi2 } from "viem";
|
|
4113
3605
|
|
|
@@ -4175,8 +3667,8 @@ var Item = ({ data }) => {
|
|
|
4175
3667
|
const isOut = data.from.toLowerCase() == address.toLowerCase();
|
|
4176
3668
|
const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
|
|
4177
3669
|
const { contracts } = useContractStore_default();
|
|
4178
|
-
const [shouldRefetch, setShouldRefetch] =
|
|
4179
|
-
const transferType =
|
|
3670
|
+
const [shouldRefetch, setShouldRefetch] = useState22(true);
|
|
3671
|
+
const transferType = useMemo12(() => {
|
|
4180
3672
|
const methodId = data.input.substring(2, 10);
|
|
4181
3673
|
if (methodId == "095ea7b3") {
|
|
4182
3674
|
return "erc20_approve";
|
|
@@ -4186,7 +3678,7 @@ var Item = ({ data }) => {
|
|
|
4186
3678
|
}
|
|
4187
3679
|
return "unknown";
|
|
4188
3680
|
}, [data.input]);
|
|
4189
|
-
const to =
|
|
3681
|
+
const to = useMemo12(() => {
|
|
4190
3682
|
if (!isOut) {
|
|
4191
3683
|
return data.from;
|
|
4192
3684
|
}
|
|
@@ -4199,7 +3691,7 @@ var Item = ({ data }) => {
|
|
|
4199
3691
|
}
|
|
4200
3692
|
return data.to;
|
|
4201
3693
|
}, [data.input, transferType, data.to, isOut]);
|
|
4202
|
-
const amount =
|
|
3694
|
+
const amount = useMemo12(() => {
|
|
4203
3695
|
if (transferType == "erc20_transfer") {
|
|
4204
3696
|
const decodeData = decodeFunctionData({
|
|
4205
3697
|
abi: erc20Abi2,
|
|
@@ -4217,7 +3709,7 @@ var Item = ({ data }) => {
|
|
|
4217
3709
|
refetchInterval: shouldRefetch ? 3e3 : false,
|
|
4218
3710
|
enabled: shouldRefetch && data.source == "local"
|
|
4219
3711
|
});
|
|
4220
|
-
const status =
|
|
3712
|
+
const status = useMemo12(() => {
|
|
4221
3713
|
if (data.source == "matchain") {
|
|
4222
3714
|
switch (data.extra.status) {
|
|
4223
3715
|
case "ok":
|
|
@@ -4244,12 +3736,12 @@ var Item = ({ data }) => {
|
|
|
4244
3736
|
}
|
|
4245
3737
|
return "loading";
|
|
4246
3738
|
}, [data.extra?.status, data.source, hashQuery.data]);
|
|
4247
|
-
|
|
3739
|
+
useEffect16(() => {
|
|
4248
3740
|
if (data.hash) {
|
|
4249
3741
|
setShouldRefetch(status == "loading");
|
|
4250
3742
|
}
|
|
4251
3743
|
}, [status, data.hash]);
|
|
4252
|
-
const symbol =
|
|
3744
|
+
const symbol = useMemo12(() => {
|
|
4253
3745
|
if (transferType == "erc20_transfer") {
|
|
4254
3746
|
const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
|
|
4255
3747
|
return contract?.symbol || contract?.name || "unknown";
|
|
@@ -4309,9 +3801,9 @@ function TransactionList({
|
|
|
4309
3801
|
|
|
4310
3802
|
// src/components/ContactList/index.tsx
|
|
4311
3803
|
import { Virtuoso } from "react-virtuoso";
|
|
4312
|
-
import { useEffect as
|
|
3804
|
+
import { useEffect as useEffect17, useState as useState23 } from "react";
|
|
4313
3805
|
import { FormattedMessage as FormattedMessage13, useIntl as useIntl16 } from "react-intl";
|
|
4314
|
-
import { Fragment as
|
|
3806
|
+
import { Fragment as Fragment4, jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
4315
3807
|
function ContactCard({
|
|
4316
3808
|
loading = false,
|
|
4317
3809
|
data,
|
|
@@ -4330,7 +3822,7 @@ function ContactCard({
|
|
|
4330
3822
|
] });
|
|
4331
3823
|
}
|
|
4332
3824
|
function RequestAction({ data, onSuccess }) {
|
|
4333
|
-
const [loading, setLoading] =
|
|
3825
|
+
const [loading, setLoading] = useState23(false);
|
|
4334
3826
|
const toast = useToast();
|
|
4335
3827
|
const intl = useIntl16();
|
|
4336
3828
|
const onApprove = async () => {
|
|
@@ -4354,7 +3846,7 @@ function FriendsAction({
|
|
|
4354
3846
|
data,
|
|
4355
3847
|
onSuccess
|
|
4356
3848
|
}) {
|
|
4357
|
-
const [loading, setLoading] =
|
|
3849
|
+
const [loading, setLoading] = useState23(false);
|
|
4358
3850
|
const toast = useToast();
|
|
4359
3851
|
const intl = useIntl16();
|
|
4360
3852
|
const onRemove = async () => {
|
|
@@ -4380,9 +3872,9 @@ function ContactList({
|
|
|
4380
3872
|
type = "Friend"
|
|
4381
3873
|
}) {
|
|
4382
3874
|
const { loading, totalCount, data, onLoadMore } = contact_exports.useContactList(limit, type);
|
|
4383
|
-
const [hiddenList, setHiddenList] =
|
|
3875
|
+
const [hiddenList, setHiddenList] = useState23([]);
|
|
4384
3876
|
const { address } = useWallet();
|
|
4385
|
-
|
|
3877
|
+
useEffect17(() => {
|
|
4386
3878
|
setHiddenList([]);
|
|
4387
3879
|
}, [type]);
|
|
4388
3880
|
return /* @__PURE__ */ jsx28(
|
|
@@ -4397,12 +3889,12 @@ function ContactList({
|
|
|
4397
3889
|
return /* @__PURE__ */ jsx28(ContactCard, { loading: true });
|
|
4398
3890
|
}
|
|
4399
3891
|
if (hiddenList.includes(data[index].limit_id || 0)) {
|
|
4400
|
-
return /* @__PURE__ */ jsx28(
|
|
3892
|
+
return /* @__PURE__ */ jsx28(Fragment4, {});
|
|
4401
3893
|
}
|
|
4402
3894
|
const item = data[index];
|
|
4403
3895
|
return /* @__PURE__ */ jsx28(ContactCard, { data: item, action: () => {
|
|
4404
3896
|
if (address == item.address) {
|
|
4405
|
-
return /* @__PURE__ */ jsx28(
|
|
3897
|
+
return /* @__PURE__ */ jsx28(Fragment4, {});
|
|
4406
3898
|
}
|
|
4407
3899
|
if (type == "Requests") {
|
|
4408
3900
|
return /* @__PURE__ */ jsx28(RequestAction, { data: item, onSuccess: (data2) => {
|
|
@@ -4427,19 +3919,19 @@ function ContactList({
|
|
|
4427
3919
|
|
|
4428
3920
|
// src/hooks/useMatchWallet.tsx
|
|
4429
3921
|
import { QRCode } from "react-qrcode";
|
|
4430
|
-
import { useEffect as
|
|
3922
|
+
import { useEffect as useEffect19, useMemo as useMemo14, useRef as useRef2, useState as useState25 } from "react";
|
|
4431
3923
|
import { useQuery as useQuery4 } from "@tanstack/react-query";
|
|
4432
3924
|
import { erc20Abi as erc20Abi4, formatUnits as formatUnits3 } from "viem";
|
|
4433
3925
|
import { FormattedMessage as FormattedMessage15, useIntl as useIntl18 } from "react-intl";
|
|
4434
3926
|
|
|
4435
3927
|
// src/components/ImportToken/index.tsx
|
|
4436
|
-
import { useEffect as
|
|
3928
|
+
import { useEffect as useEffect18, useMemo as useMemo13, useState as useState24 } from "react";
|
|
4437
3929
|
import { FormattedMessage as FormattedMessage14, useIntl as useIntl17 } from "react-intl";
|
|
4438
3930
|
import { useQueryClient } from "@tanstack/react-query";
|
|
4439
3931
|
import { defineChain as defineChain3, erc20Abi as erc20Abi3 } from "viem";
|
|
4440
3932
|
|
|
4441
3933
|
// src/hooks/useIsContract.ts
|
|
4442
|
-
import { createPublicClient as createPublicClient3, http as
|
|
3934
|
+
import { createPublicClient as createPublicClient3, http as http4 } from "viem";
|
|
4443
3935
|
import { useQuery as useQuery3 } from "@tanstack/react-query";
|
|
4444
3936
|
function useIsContract({
|
|
4445
3937
|
address,
|
|
@@ -4453,7 +3945,7 @@ function useIsContract({
|
|
|
4453
3945
|
if (!address) return false;
|
|
4454
3946
|
const publicClient = createPublicClient3({
|
|
4455
3947
|
chain,
|
|
4456
|
-
transport:
|
|
3948
|
+
transport: http4()
|
|
4457
3949
|
});
|
|
4458
3950
|
const res = await publicClient.getCode({ address });
|
|
4459
3951
|
return res !== null && res !== void 0;
|
|
@@ -4465,12 +3957,12 @@ function useIsContract({
|
|
|
4465
3957
|
// src/components/ImportToken/index.tsx
|
|
4466
3958
|
import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
4467
3959
|
function ImportToken({ close }) {
|
|
4468
|
-
const [status, setStatus] =
|
|
3960
|
+
const [status, setStatus] = useState24("");
|
|
4469
3961
|
const { token } = useUserInfo();
|
|
4470
|
-
const [address, setAddress] =
|
|
4471
|
-
const [symbol, setSymbol] =
|
|
4472
|
-
const [decimals, setDecimals] =
|
|
4473
|
-
const [error, setError] =
|
|
3962
|
+
const [address, setAddress] = useState24("");
|
|
3963
|
+
const [symbol, setSymbol] = useState24("");
|
|
3964
|
+
const [decimals, setDecimals] = useState24("");
|
|
3965
|
+
const [error, setError] = useState24({});
|
|
4474
3966
|
const { publicClient, chainId, chain } = useMatchChain();
|
|
4475
3967
|
const getContractInfo = async () => {
|
|
4476
3968
|
if (!publicClient) return;
|
|
@@ -4504,7 +3996,7 @@ function ImportToken({ close }) {
|
|
|
4504
3996
|
}
|
|
4505
3997
|
};
|
|
4506
3998
|
const intl = useIntl17();
|
|
4507
|
-
|
|
3999
|
+
useEffect18(() => {
|
|
4508
4000
|
if (address.length === 42) {
|
|
4509
4001
|
const reg = /^0x[0-9a-fA-F]{40}$/;
|
|
4510
4002
|
if (!reg.test(address)) {
|
|
@@ -4523,7 +4015,7 @@ function ImportToken({ close }) {
|
|
|
4523
4015
|
}
|
|
4524
4016
|
}
|
|
4525
4017
|
}, [address, publicClient]);
|
|
4526
|
-
const [loading, setLoading] =
|
|
4018
|
+
const [loading, setLoading] = useState24(false);
|
|
4527
4019
|
const toast = useToast();
|
|
4528
4020
|
const queryClient2 = useQueryClient();
|
|
4529
4021
|
const onImport = async () => {
|
|
@@ -4551,7 +4043,7 @@ function ImportToken({ close }) {
|
|
|
4551
4043
|
setLoading(false);
|
|
4552
4044
|
}
|
|
4553
4045
|
};
|
|
4554
|
-
const canImport =
|
|
4046
|
+
const canImport = useMemo13(() => {
|
|
4555
4047
|
if (!address) {
|
|
4556
4048
|
return false;
|
|
4557
4049
|
}
|
|
@@ -4717,12 +4209,12 @@ function useMatchWallet() {
|
|
|
4717
4209
|
};
|
|
4718
4210
|
}
|
|
4719
4211
|
function useMatchWalletRecords() {
|
|
4720
|
-
const [hasMore, setHasMore] =
|
|
4721
|
-
const [items, setItems] =
|
|
4212
|
+
const [hasMore, setHasMore] = useState25(true);
|
|
4213
|
+
const [items, setItems] = useState25([]);
|
|
4722
4214
|
const { chainId, publicClient } = useMatchChain();
|
|
4723
4215
|
const { address } = useWallet();
|
|
4724
|
-
const hasMoreRef =
|
|
4725
|
-
const nextPageParamsRef =
|
|
4216
|
+
const hasMoreRef = useRef2(hasMore);
|
|
4217
|
+
const nextPageParamsRef = useRef2(void 0);
|
|
4726
4218
|
const { contracts, setContracts } = useContractStore_default();
|
|
4727
4219
|
const fetchMoreData = async () => {
|
|
4728
4220
|
const chainIdStr = chainId ? chainId.toString() : "";
|
|
@@ -4749,7 +4241,7 @@ function useMatchWalletRecords() {
|
|
|
4749
4241
|
hasMoreRef.current = true;
|
|
4750
4242
|
fetchMoreData();
|
|
4751
4243
|
};
|
|
4752
|
-
|
|
4244
|
+
useEffect19(() => {
|
|
4753
4245
|
if (chainId && address) {
|
|
4754
4246
|
onInit();
|
|
4755
4247
|
}
|
|
@@ -4805,7 +4297,7 @@ function useMatchWalletRecords() {
|
|
|
4805
4297
|
setContracts(contractMap);
|
|
4806
4298
|
}
|
|
4807
4299
|
};
|
|
4808
|
-
const list =
|
|
4300
|
+
const list = useMemo14(() => {
|
|
4809
4301
|
const localTransactions = transactions[`${chainId}-${address}`] || [];
|
|
4810
4302
|
const removeList = localTransactions.filter((n) => items.findIndex((m) => m.hash == n.hash) >= 0);
|
|
4811
4303
|
removeList.forEach((item) => {
|
|
@@ -4847,7 +4339,7 @@ function useMatchWalletAssets({
|
|
|
4847
4339
|
chainId: chainId || 0,
|
|
4848
4340
|
...assetListOptions
|
|
4849
4341
|
});
|
|
4850
|
-
const mergedAssets =
|
|
4342
|
+
const mergedAssets = useMemo14(() => {
|
|
4851
4343
|
if (!assetListQuery.data && !importTokenQuery.data) return [];
|
|
4852
4344
|
const assetList = (assetListQuery.data || []).map((asset) => ({
|
|
4853
4345
|
...asset,
|
|
@@ -4934,7 +4426,7 @@ function useMatchWalletAssetList({
|
|
|
4934
4426
|
retry: 3
|
|
4935
4427
|
// Retry up to 3 times if failed
|
|
4936
4428
|
});
|
|
4937
|
-
const erc20Tokens =
|
|
4429
|
+
const erc20Tokens = useMemo14(() => list.filter((asset) => asset.address !== NATIVE_TOKEN_ADDRESS), [list]);
|
|
4938
4430
|
const erc20BalanceQuery = useQuery4({
|
|
4939
4431
|
queryKey: ["erc20Balances", erc20Tokens.map((token) => token.address)],
|
|
4940
4432
|
queryFn: async () => {
|
|
@@ -4962,7 +4454,7 @@ function useMatchWalletAssetList({
|
|
|
4962
4454
|
// Refresh every 15 seconds
|
|
4963
4455
|
retry: 3
|
|
4964
4456
|
});
|
|
4965
|
-
const enrichedAssets =
|
|
4457
|
+
const enrichedAssets = useMemo14(() => {
|
|
4966
4458
|
if (!list) return [];
|
|
4967
4459
|
const erc20Balances = erc20BalanceQuery.data || [];
|
|
4968
4460
|
return list.map((asset) => {
|
|
@@ -4984,7 +4476,7 @@ function useMatchWalletAssetList({
|
|
|
4984
4476
|
return { ...asset, balance, value, balanceValue };
|
|
4985
4477
|
});
|
|
4986
4478
|
}, [list, nativeBalanceQuery.data, erc20BalanceQuery.data]);
|
|
4987
|
-
|
|
4479
|
+
useEffect19(() => {
|
|
4988
4480
|
const list2 = enrichedAssets.sort((a, b) => {
|
|
4989
4481
|
if (a.address === NATIVE_TOKEN_ADDRESS) return -1;
|
|
4990
4482
|
if (b.address === NATIVE_TOKEN_ADDRESS) return 1;
|
|
@@ -5009,14 +4501,14 @@ function useMatchWalletAssetList({
|
|
|
5009
4501
|
}
|
|
5010
4502
|
|
|
5011
4503
|
// src/hooks/useReceipt.tsx
|
|
5012
|
-
import { useState as
|
|
4504
|
+
import { useState as useState26, useCallback as useCallback4, useEffect as useEffect20 } from "react";
|
|
5013
4505
|
import { useQuery as useQuery5 } from "@tanstack/react-query";
|
|
5014
|
-
import { createPublicClient as createPublicClient4, defineChain as defineChain4, http as
|
|
4506
|
+
import { createPublicClient as createPublicClient4, defineChain as defineChain4, http as http5 } from "viem";
|
|
5015
4507
|
var CACHE_TTL = 86400 * 30 * 1e3;
|
|
5016
4508
|
var MAX_CACHE_SIZE = 500;
|
|
5017
4509
|
var STORAGE_KEY = "match_receipt_logs";
|
|
5018
4510
|
function useReceiptCache() {
|
|
5019
|
-
const [cache, setCache] =
|
|
4511
|
+
const [cache, setCache] = useState26(/* @__PURE__ */ new Map());
|
|
5020
4512
|
const isLocalStorageAvailable = (() => {
|
|
5021
4513
|
try {
|
|
5022
4514
|
const testKey = "__test__";
|
|
@@ -5027,7 +4519,7 @@ function useReceiptCache() {
|
|
|
5027
4519
|
return false;
|
|
5028
4520
|
}
|
|
5029
4521
|
})();
|
|
5030
|
-
|
|
4522
|
+
useEffect20(() => {
|
|
5031
4523
|
if (isLocalStorageAvailable) {
|
|
5032
4524
|
try {
|
|
5033
4525
|
const storedData = localStorage.getItem(STORAGE_KEY);
|
|
@@ -5046,7 +4538,7 @@ function useReceiptCache() {
|
|
|
5046
4538
|
}
|
|
5047
4539
|
}
|
|
5048
4540
|
}, []);
|
|
5049
|
-
const updateLocalStorage =
|
|
4541
|
+
const updateLocalStorage = useCallback4((updatedCache) => {
|
|
5050
4542
|
if (isLocalStorageAvailable) {
|
|
5051
4543
|
try {
|
|
5052
4544
|
const storedData = localStorage.getItem(STORAGE_KEY);
|
|
@@ -5063,7 +4555,7 @@ function useReceiptCache() {
|
|
|
5063
4555
|
}
|
|
5064
4556
|
}
|
|
5065
4557
|
}, []);
|
|
5066
|
-
const set =
|
|
4558
|
+
const set = useCallback4((key, value) => {
|
|
5067
4559
|
const now = Date.now();
|
|
5068
4560
|
const newCache = new Map(cache);
|
|
5069
4561
|
newCache.forEach((entry, k) => {
|
|
@@ -5081,7 +4573,7 @@ function useReceiptCache() {
|
|
|
5081
4573
|
setCache(newCache);
|
|
5082
4574
|
updateLocalStorage(newCache);
|
|
5083
4575
|
}, [cache, updateLocalStorage]);
|
|
5084
|
-
const get =
|
|
4576
|
+
const get = useCallback4((key) => {
|
|
5085
4577
|
const entry = cache.get(key);
|
|
5086
4578
|
if (entry) {
|
|
5087
4579
|
if (Date.now() - entry.timestamp > CACHE_TTL) {
|
|
@@ -5095,7 +4587,7 @@ function useReceiptCache() {
|
|
|
5095
4587
|
}
|
|
5096
4588
|
return void 0;
|
|
5097
4589
|
}, [cache, updateLocalStorage]);
|
|
5098
|
-
const del =
|
|
4590
|
+
const del = useCallback4((key) => {
|
|
5099
4591
|
if (cache.has(key)) {
|
|
5100
4592
|
const newCache = new Map(cache);
|
|
5101
4593
|
newCache.delete(key);
|
|
@@ -5103,7 +4595,7 @@ function useReceiptCache() {
|
|
|
5103
4595
|
updateLocalStorage(newCache);
|
|
5104
4596
|
}
|
|
5105
4597
|
}, [cache, updateLocalStorage]);
|
|
5106
|
-
const clear =
|
|
4598
|
+
const clear = useCallback4(() => {
|
|
5107
4599
|
setCache(/* @__PURE__ */ new Map());
|
|
5108
4600
|
if (isLocalStorageAvailable) {
|
|
5109
4601
|
localStorage.removeItem(STORAGE_KEY);
|
|
@@ -5118,7 +4610,7 @@ function useReceipt2({
|
|
|
5118
4610
|
const { list } = useMatchChain();
|
|
5119
4611
|
const cache = useReceiptCache();
|
|
5120
4612
|
const chain = list?.find((item) => item.id === chainId);
|
|
5121
|
-
const [shouldRefetch, setShouldRefetch] =
|
|
4613
|
+
const [shouldRefetch, setShouldRefetch] = useState26(true);
|
|
5122
4614
|
const query = useQuery5({
|
|
5123
4615
|
queryKey: ["match-tx-receipt", hash, chain],
|
|
5124
4616
|
queryFn: async () => {
|
|
@@ -5130,7 +4622,7 @@ function useReceipt2({
|
|
|
5130
4622
|
try {
|
|
5131
4623
|
const publicClient = createPublicClient4({
|
|
5132
4624
|
chain: defineChain4(chain),
|
|
5133
|
-
transport:
|
|
4625
|
+
transport: http5()
|
|
5134
4626
|
});
|
|
5135
4627
|
const receipt = await publicClient.getTransactionReceipt({ hash });
|
|
5136
4628
|
if (!receipt) {
|
|
@@ -5144,7 +4636,7 @@ function useReceipt2({
|
|
|
5144
4636
|
},
|
|
5145
4637
|
refetchInterval: shouldRefetch ? 1e4 : false
|
|
5146
4638
|
});
|
|
5147
|
-
|
|
4639
|
+
useEffect20(() => {
|
|
5148
4640
|
if (query.data) {
|
|
5149
4641
|
setShouldRefetch(false);
|
|
5150
4642
|
}
|
|
@@ -5153,14 +4645,14 @@ function useReceipt2({
|
|
|
5153
4645
|
}
|
|
5154
4646
|
|
|
5155
4647
|
// src/hooks/useTransaction.tsx
|
|
5156
|
-
import { useState as
|
|
4648
|
+
import { useState as useState27, useCallback as useCallback5, useEffect as useEffect21 } from "react";
|
|
5157
4649
|
import { useQuery as useQuery6 } from "@tanstack/react-query";
|
|
5158
|
-
import { createPublicClient as createPublicClient5, defineChain as defineChain5, http as
|
|
4650
|
+
import { createPublicClient as createPublicClient5, defineChain as defineChain5, http as http6 } from "viem";
|
|
5159
4651
|
var CACHE_TTL2 = 86400 * 30 * 1e3;
|
|
5160
4652
|
var MAX_CACHE_SIZE2 = 500;
|
|
5161
4653
|
var STORAGE_KEY2 = "match_transaction_logs";
|
|
5162
4654
|
function useTransactionCache() {
|
|
5163
|
-
const [cache, setCache] =
|
|
4655
|
+
const [cache, setCache] = useState27(/* @__PURE__ */ new Map());
|
|
5164
4656
|
const isLocalStorageAvailable = (() => {
|
|
5165
4657
|
try {
|
|
5166
4658
|
const testKey = "__test__";
|
|
@@ -5171,7 +4663,7 @@ function useTransactionCache() {
|
|
|
5171
4663
|
return false;
|
|
5172
4664
|
}
|
|
5173
4665
|
})();
|
|
5174
|
-
|
|
4666
|
+
useEffect21(() => {
|
|
5175
4667
|
if (isLocalStorageAvailable) {
|
|
5176
4668
|
try {
|
|
5177
4669
|
const storedData = localStorage.getItem(STORAGE_KEY2);
|
|
@@ -5190,7 +4682,7 @@ function useTransactionCache() {
|
|
|
5190
4682
|
}
|
|
5191
4683
|
}
|
|
5192
4684
|
}, []);
|
|
5193
|
-
const updateLocalStorage =
|
|
4685
|
+
const updateLocalStorage = useCallback5((updatedCache) => {
|
|
5194
4686
|
if (isLocalStorageAvailable) {
|
|
5195
4687
|
try {
|
|
5196
4688
|
const storedData = localStorage.getItem(STORAGE_KEY2);
|
|
@@ -5207,7 +4699,7 @@ function useTransactionCache() {
|
|
|
5207
4699
|
}
|
|
5208
4700
|
}
|
|
5209
4701
|
}, []);
|
|
5210
|
-
const set =
|
|
4702
|
+
const set = useCallback5((key, value) => {
|
|
5211
4703
|
const now = Date.now();
|
|
5212
4704
|
const newCache = new Map(cache);
|
|
5213
4705
|
newCache.forEach((entry, k) => {
|
|
@@ -5225,7 +4717,7 @@ function useTransactionCache() {
|
|
|
5225
4717
|
setCache(newCache);
|
|
5226
4718
|
updateLocalStorage(newCache);
|
|
5227
4719
|
}, [cache, updateLocalStorage]);
|
|
5228
|
-
const get =
|
|
4720
|
+
const get = useCallback5((key) => {
|
|
5229
4721
|
const entry = cache.get(key);
|
|
5230
4722
|
if (entry) {
|
|
5231
4723
|
if (Date.now() - entry.timestamp > CACHE_TTL2) {
|
|
@@ -5239,7 +4731,7 @@ function useTransactionCache() {
|
|
|
5239
4731
|
}
|
|
5240
4732
|
return void 0;
|
|
5241
4733
|
}, [cache, updateLocalStorage]);
|
|
5242
|
-
const del =
|
|
4734
|
+
const del = useCallback5((key) => {
|
|
5243
4735
|
if (cache.has(key)) {
|
|
5244
4736
|
const newCache = new Map(cache);
|
|
5245
4737
|
newCache.delete(key);
|
|
@@ -5247,7 +4739,7 @@ function useTransactionCache() {
|
|
|
5247
4739
|
updateLocalStorage(newCache);
|
|
5248
4740
|
}
|
|
5249
4741
|
}, [cache, updateLocalStorage]);
|
|
5250
|
-
const clear =
|
|
4742
|
+
const clear = useCallback5(() => {
|
|
5251
4743
|
setCache(/* @__PURE__ */ new Map());
|
|
5252
4744
|
if (isLocalStorageAvailable) {
|
|
5253
4745
|
localStorage.removeItem(STORAGE_KEY2);
|
|
@@ -5262,7 +4754,7 @@ function useTransaction({
|
|
|
5262
4754
|
const { list } = useMatchChain();
|
|
5263
4755
|
const cache = useTransactionCache();
|
|
5264
4756
|
const chain = list?.find((item) => item.id === chainId);
|
|
5265
|
-
const [shouldRefetch, setShouldRefetch] =
|
|
4757
|
+
const [shouldRefetch, setShouldRefetch] = useState27(true);
|
|
5266
4758
|
const query = useQuery6({
|
|
5267
4759
|
queryKey: ["match-tx-transaction", hash, chain],
|
|
5268
4760
|
queryFn: async () => {
|
|
@@ -5274,7 +4766,7 @@ function useTransaction({
|
|
|
5274
4766
|
try {
|
|
5275
4767
|
const publicClient = createPublicClient5({
|
|
5276
4768
|
chain: defineChain5(chain),
|
|
5277
|
-
transport:
|
|
4769
|
+
transport: http6()
|
|
5278
4770
|
});
|
|
5279
4771
|
const transaction = await publicClient.getTransaction({ hash });
|
|
5280
4772
|
if (!transaction) {
|
|
@@ -5288,7 +4780,7 @@ function useTransaction({
|
|
|
5288
4780
|
},
|
|
5289
4781
|
refetchInterval: shouldRefetch ? 1e4 : false
|
|
5290
4782
|
});
|
|
5291
|
-
|
|
4783
|
+
useEffect21(() => {
|
|
5292
4784
|
if (query.data) {
|
|
5293
4785
|
setShouldRefetch(false);
|
|
5294
4786
|
}
|
|
@@ -5337,7 +4829,7 @@ var useWalletModalStore = create5((set) => ({
|
|
|
5337
4829
|
}));
|
|
5338
4830
|
|
|
5339
4831
|
// src/components/CEXBindModal/index.tsx
|
|
5340
|
-
import { useEffect as
|
|
4832
|
+
import { useEffect as useEffect22, useMemo as useMemo15, useState as useState28 } from "react";
|
|
5341
4833
|
import { FormattedMessage as FormattedMessage16, useIntl as useIntl19 } from "react-intl";
|
|
5342
4834
|
import { jsx as jsx31, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
5343
4835
|
function CEXBindModal({
|
|
@@ -5348,16 +4840,16 @@ function CEXBindModal({
|
|
|
5348
4840
|
}) {
|
|
5349
4841
|
const intl = useIntl19();
|
|
5350
4842
|
const { events } = useMatch();
|
|
5351
|
-
const [APIPassphrase, setAPIPassphrase] =
|
|
4843
|
+
const [APIPassphrase, setAPIPassphrase] = useState28("");
|
|
5352
4844
|
const { refreshOverview } = useUserInfo();
|
|
5353
|
-
const [loading, setLoading] =
|
|
5354
|
-
const [key, setKey] =
|
|
5355
|
-
const [secret, setSecret] =
|
|
5356
|
-
const [error, setError] =
|
|
5357
|
-
const needPassphrase =
|
|
4845
|
+
const [loading, setLoading] = useState28(false);
|
|
4846
|
+
const [key, setKey] = useState28("");
|
|
4847
|
+
const [secret, setSecret] = useState28("");
|
|
4848
|
+
const [error, setError] = useState28("");
|
|
4849
|
+
const needPassphrase = useMemo15(() => {
|
|
5358
4850
|
return ["bitget", "okx"].includes(type.toLowerCase());
|
|
5359
4851
|
}, [type]);
|
|
5360
|
-
|
|
4852
|
+
useEffect22(() => {
|
|
5361
4853
|
if (isOpen) {
|
|
5362
4854
|
setSecret("");
|
|
5363
4855
|
setKey("");
|
|
@@ -5451,7 +4943,7 @@ function CEXBindModal({
|
|
|
5451
4943
|
|
|
5452
4944
|
// src/context/BusinessProvider.tsx
|
|
5453
4945
|
import { useQuery as useQuery7 } from "@tanstack/react-query";
|
|
5454
|
-
import { Fragment as
|
|
4946
|
+
import { Fragment as Fragment5, jsx as jsx32, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
5455
4947
|
function BusinessProvider({ children }) {
|
|
5456
4948
|
const { overview, token } = useUserInfo();
|
|
5457
4949
|
const { type: EVMType, isOpen: EVMIsOpen, close: EVMClose } = useEVMModalStore();
|
|
@@ -5485,7 +4977,7 @@ function BusinessProvider({ children }) {
|
|
|
5485
4977
|
enabled: !!tgAppAuthCode,
|
|
5486
4978
|
refetchInterval: 1e3 * 5
|
|
5487
4979
|
});
|
|
5488
|
-
return /* @__PURE__ */ jsxs24(
|
|
4980
|
+
return /* @__PURE__ */ jsxs24(Fragment5, { children: [
|
|
5489
4981
|
/* @__PURE__ */ jsx32(
|
|
5490
4982
|
EVMModal,
|
|
5491
4983
|
{
|
|
@@ -5557,7 +5049,7 @@ var Providers = ({ children }) => {
|
|
|
5557
5049
|
var context_default = Providers;
|
|
5558
5050
|
|
|
5559
5051
|
// src/hooks/useWalletInit.ts
|
|
5560
|
-
import { useEffect as
|
|
5052
|
+
import { useEffect as useEffect23, useRef as useRef3 } from "react";
|
|
5561
5053
|
|
|
5562
5054
|
// src/utils/wallet.ts
|
|
5563
5055
|
var sendMessage = ({ method, data, resolve, reject, timeout }) => {
|
|
@@ -5590,11 +5082,11 @@ function useWalletInit({
|
|
|
5590
5082
|
}) {
|
|
5591
5083
|
const { endpoints, token, setWallet, appid, refreshOverview } = useLocalStore_default();
|
|
5592
5084
|
const { setWalletReady, walletReady } = useStore_default();
|
|
5593
|
-
const iframeReadyRef =
|
|
5594
|
-
|
|
5085
|
+
const iframeReadyRef = useRef3(walletReady);
|
|
5086
|
+
useEffect23(() => {
|
|
5595
5087
|
setWallet(config);
|
|
5596
5088
|
}, [config]);
|
|
5597
|
-
|
|
5089
|
+
useEffect23(() => {
|
|
5598
5090
|
matchlog_default.log("sdk.mpc.status", walletReady, iframeReadyRef.current);
|
|
5599
5091
|
iframeReadyRef.current = walletReady;
|
|
5600
5092
|
if (iframeReadyRef.current) {
|
|
@@ -5611,7 +5103,7 @@ function useWalletInit({
|
|
|
5611
5103
|
onReady();
|
|
5612
5104
|
}
|
|
5613
5105
|
}, [walletReady]);
|
|
5614
|
-
|
|
5106
|
+
useEffect23(() => {
|
|
5615
5107
|
if (!endpoints.auth || !appid || !token || !config) {
|
|
5616
5108
|
const existingIframe = getWalletIframe();
|
|
5617
5109
|
if (existingIframe) {
|
|
@@ -5711,7 +5203,7 @@ function useWalletInit({
|
|
|
5711
5203
|
}
|
|
5712
5204
|
}
|
|
5713
5205
|
}, [endpoints.auth, appid, token, config]);
|
|
5714
|
-
|
|
5206
|
+
useEffect23(() => {
|
|
5715
5207
|
const messageHandle = async (e) => {
|
|
5716
5208
|
if (e.origin !== endpoints.auth.substring(0, endpoints.auth.length - 1)) {
|
|
5717
5209
|
return;
|
|
@@ -5792,7 +5284,7 @@ function useWalletInit({
|
|
|
5792
5284
|
}
|
|
5793
5285
|
|
|
5794
5286
|
// src/hooks/useInit.tsx
|
|
5795
|
-
import { useEffect as
|
|
5287
|
+
import { useEffect as useEffect24, useRef as useRef4 } from "react";
|
|
5796
5288
|
function useInit({
|
|
5797
5289
|
theme,
|
|
5798
5290
|
appid,
|
|
@@ -5812,24 +5304,24 @@ function useInit({
|
|
|
5812
5304
|
locale: realLocale
|
|
5813
5305
|
} = useLocalStore_default();
|
|
5814
5306
|
const walletModalStore = useWalletModalStore();
|
|
5815
|
-
const overviewLoadingRef =
|
|
5307
|
+
const overviewLoadingRef = useRef4(false);
|
|
5816
5308
|
const searchParams = new URLSearchParams(window.location.search);
|
|
5817
5309
|
const matchToken = searchParams.get("matchToken");
|
|
5818
5310
|
const matchidt = searchParams.get("matchidt");
|
|
5819
5311
|
const realEndpoints = endpoints || env_default.endpoints;
|
|
5820
|
-
|
|
5312
|
+
useEffect24(() => {
|
|
5821
5313
|
setTheme(theme);
|
|
5822
5314
|
}, [theme]);
|
|
5823
|
-
|
|
5315
|
+
useEffect24(() => {
|
|
5824
5316
|
setAppid(appid);
|
|
5825
5317
|
}, [appid]);
|
|
5826
|
-
|
|
5318
|
+
useEffect24(() => {
|
|
5827
5319
|
setEndpoints(realEndpoints);
|
|
5828
5320
|
}, [realEndpoints]);
|
|
5829
|
-
|
|
5321
|
+
useEffect24(() => {
|
|
5830
5322
|
setLocale(locale || "en");
|
|
5831
5323
|
}, [locale]);
|
|
5832
|
-
|
|
5324
|
+
useEffect24(() => {
|
|
5833
5325
|
if (matchToken) {
|
|
5834
5326
|
const tokenData = JSON.parse(atob(matchToken));
|
|
5835
5327
|
if (tokenData && tokenData.mid && tokenData.token) {
|
|
@@ -5840,7 +5332,7 @@ function useInit({
|
|
|
5840
5332
|
}
|
|
5841
5333
|
}
|
|
5842
5334
|
}, [matchToken]);
|
|
5843
|
-
|
|
5335
|
+
useEffect24(() => {
|
|
5844
5336
|
if (matchidt) {
|
|
5845
5337
|
const tokenData = decodeURIComponent(matchidt);
|
|
5846
5338
|
const data = JSON.parse(decodeBase64(tokenData));
|
|
@@ -5870,7 +5362,7 @@ function useInit({
|
|
|
5870
5362
|
}
|
|
5871
5363
|
}
|
|
5872
5364
|
}, [matchidt]);
|
|
5873
|
-
|
|
5365
|
+
useEffect24(() => {
|
|
5874
5366
|
const onLoginMessage = (event) => {
|
|
5875
5367
|
const res = event.data;
|
|
5876
5368
|
if (res.event === "login" && res.data && (res.data.token || res.data.token_type && res.data.access_token)) {
|
|
@@ -5907,7 +5399,7 @@ function useInit({
|
|
|
5907
5399
|
overviewLoadingRef.current = false;
|
|
5908
5400
|
}
|
|
5909
5401
|
};
|
|
5910
|
-
|
|
5402
|
+
useEffect24(() => {
|
|
5911
5403
|
if (token) {
|
|
5912
5404
|
loadOverview();
|
|
5913
5405
|
}
|
|
@@ -6746,7 +6238,7 @@ var messages = {
|
|
|
6746
6238
|
};
|
|
6747
6239
|
|
|
6748
6240
|
// src/MatchContext.tsx
|
|
6749
|
-
import { getDefaultConfig
|
|
6241
|
+
import { getDefaultConfig, RainbowKitProvider } from "@rainbow-me/rainbowkit";
|
|
6750
6242
|
import {
|
|
6751
6243
|
bitgetWallet,
|
|
6752
6244
|
injectedWallet,
|
|
@@ -6755,10 +6247,10 @@ import {
|
|
|
6755
6247
|
walletConnectWallet
|
|
6756
6248
|
} from "@rainbow-me/rainbowkit/wallets";
|
|
6757
6249
|
import { arbitrum, base, bsc, mainnet, optimism, polygon } from "wagmi/chains";
|
|
6758
|
-
import { WagmiProvider
|
|
6250
|
+
import { WagmiProvider } from "wagmi";
|
|
6759
6251
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
6760
6252
|
var queryClient = new QueryClient();
|
|
6761
|
-
var wagmiConfig =
|
|
6253
|
+
var wagmiConfig = getDefaultConfig({
|
|
6762
6254
|
appName: "MatchID",
|
|
6763
6255
|
projectId: "9ac6ea7e07860f04616fb311b447dee9",
|
|
6764
6256
|
wallets: [
|
|
@@ -6795,7 +6287,7 @@ var MatchProvider = ({
|
|
|
6795
6287
|
useWalletInit({
|
|
6796
6288
|
config: wallet
|
|
6797
6289
|
});
|
|
6798
|
-
return /* @__PURE__ */ jsx34(IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ jsx34(
|
|
6290
|
+
return /* @__PURE__ */ jsx34(IntlProvider, { locale: realLocale, messages: messages[realLocale], children: /* @__PURE__ */ jsx34(WagmiProvider, { config: wagmiConfig, children: /* @__PURE__ */ jsx34(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx34(RainbowKitProvider, { children: /* @__PURE__ */ jsx34(
|
|
6799
6291
|
MatchContext.Provider,
|
|
6800
6292
|
{
|
|
6801
6293
|
value: {
|
|
@@ -6845,7 +6337,7 @@ function useUserInfo() {
|
|
|
6845
6337
|
const getRedirectUri = () => {
|
|
6846
6338
|
return encodeURIComponent(window.location.href);
|
|
6847
6339
|
};
|
|
6848
|
-
const isLogin =
|
|
6340
|
+
const isLogin = useMemo16(() => !!token && !!overview, [token, overview]);
|
|
6849
6341
|
const logout = async () => {
|
|
6850
6342
|
try {
|
|
6851
6343
|
await toLogoutApi();
|
|
@@ -7180,10 +6672,10 @@ __export(contact_exports, {
|
|
|
7180
6672
|
});
|
|
7181
6673
|
import { useInfiniteQuery, useQuery as useQuery10, useQueryClient as useQueryClient3 } from "@tanstack/react-query";
|
|
7182
6674
|
import last from "lodash/last";
|
|
7183
|
-
import { useEffect as
|
|
6675
|
+
import { useEffect as useEffect26, useMemo as useMemo17, useRef as useRef5 } from "react";
|
|
7184
6676
|
function useContactList(page_size = 10, type = "Friend") {
|
|
7185
6677
|
const { token } = useLocalStore_default();
|
|
7186
|
-
const limitIdRef =
|
|
6678
|
+
const limitIdRef = useRef5(0);
|
|
7187
6679
|
const queryClient2 = useQueryClient3();
|
|
7188
6680
|
const contactQuery = useInfiniteQuery({
|
|
7189
6681
|
queryKey: ["matchid-contacts-list", type, token],
|
|
@@ -7205,7 +6697,7 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
7205
6697
|
return allPages.length >= lastPageNum ? void 0 : allPages.length + 1;
|
|
7206
6698
|
}
|
|
7207
6699
|
});
|
|
7208
|
-
|
|
6700
|
+
useEffect26(() => {
|
|
7209
6701
|
if (!contactQuery.data?.pages || contactQuery.data?.pages.length == 0) {
|
|
7210
6702
|
limitIdRef.current = 0;
|
|
7211
6703
|
} else {
|
|
@@ -7219,10 +6711,10 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
7219
6711
|
limitIdRef.current = lastItem?.limit_id || 0;
|
|
7220
6712
|
}
|
|
7221
6713
|
}, [contactQuery.data?.pages]);
|
|
7222
|
-
|
|
6714
|
+
useEffect26(() => {
|
|
7223
6715
|
console.log("contactQuery.data", contactQuery.data);
|
|
7224
6716
|
}, [contactQuery.data]);
|
|
7225
|
-
const data =
|
|
6717
|
+
const data = useMemo17(() => {
|
|
7226
6718
|
return (contactQuery.data?.pages ?? []).reduce(
|
|
7227
6719
|
(a, b) => {
|
|
7228
6720
|
return a.concat(b?.items ?? []);
|
|
@@ -7336,4 +6828,4 @@ export {
|
|
|
7336
6828
|
MatchProvider,
|
|
7337
6829
|
useMatch
|
|
7338
6830
|
};
|
|
7339
|
-
//# sourceMappingURL=chunk-
|
|
6831
|
+
//# sourceMappingURL=chunk-Z7L7RRWB.mjs.map
|