@matchain/matchid-sdk-react 0.1.47 → 0.1.48-alpha.1
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/assets/icon/index.d.mts +4 -2
- package/dist/assets/icon/index.d.ts +4 -2
- package/dist/assets/icon/index.js +27 -0
- package/dist/assets/icon/index.js.map +1 -1
- package/dist/assets/icon/index.mjs +3 -1
- package/dist/chunk-A477SJHT.mjs +4549 -0
- package/dist/chunk-A477SJHT.mjs.map +1 -0
- package/dist/{chunk-DPXMCLYK.mjs → chunk-A5D3NKTK.mjs} +29 -3
- package/dist/chunk-A5D3NKTK.mjs.map +1 -0
- package/dist/{chunk-A3XSTHEE.mjs → chunk-AFZSANRV.mjs} +8 -4
- package/dist/chunk-AFZSANRV.mjs.map +1 -0
- package/dist/chunk-HBOS3RBL.mjs +19 -0
- package/dist/chunk-HBOS3RBL.mjs.map +1 -0
- package/dist/{chunk-TOUC33US.mjs → chunk-LNSJ3ZXG.mjs} +294 -4680
- package/dist/chunk-LNSJ3ZXG.mjs.map +1 -0
- package/dist/{chunk-SQIJR7RA.mjs → chunk-UA6XHZHX.mjs} +2 -14
- package/dist/chunk-UA6XHZHX.mjs.map +1 -0
- package/dist/components/index.d.mts +3 -3
- package/dist/components/index.d.ts +3 -3
- package/dist/components/index.js +450 -841
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +12 -12
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +410 -256
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +11 -5
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +659 -495
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +14 -4
- package/dist/index-BIgM4fy0.d.mts +122 -0
- package/dist/{index-DR2JTaoi.d.mts → index-BVatQlwF.d.mts} +10 -2
- package/dist/index-Bb7IkjUW.d.mts +26 -0
- package/dist/index-BwD1ij0H.d.ts +122 -0
- package/dist/index-C2-M-aBb.d.ts +57 -0
- package/dist/{index-DVlCrOjr.d.ts → index-CGs_yTFg.d.ts} +5 -33
- package/dist/index-CKiK4KHj.d.ts +26 -0
- package/dist/{index-D2pNP7Bz.d.mts → index-DO5x10pN.d.mts} +46 -26
- package/dist/index-DamklTOJ.d.mts +57 -0
- package/dist/{index-B0VpxAI2.d.mts → index-M7ZB3yR5.d.mts} +5 -33
- package/dist/{index-CFWR1boZ.d.ts → index-Pssz41An.d.ts} +46 -26
- package/dist/{index-CTSg5TRS.d.ts → index-RfA22r-Z.d.ts} +10 -2
- package/dist/index.css +241 -3
- package/dist/index.d.mts +8 -6
- package/dist/index.d.ts +8 -6
- package/dist/index.js +2808 -2672
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -5
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.mjs +2 -1
- package/dist/{types-CRumDe2M.d.mts → types-DQq17lf4.d.mts} +116 -1
- package/dist/{types-CRumDe2M.d.ts → types-DQq17lf4.d.ts} +116 -1
- package/dist/ui/index.d.mts +6 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +724 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/index.mjs +33 -0
- package/dist/ui/index.mjs.map +1 -0
- package/example/src/App.tsx +7 -0
- package/example/src/config/chains/matchMain.ts +2 -3
- package/example/src/pages/UI/components/AlphaAvatar.tsx +11 -0
- package/example/src/pages/UI/components/Radio.tsx +15 -0
- package/example/src/pages/UI/components/Switch.tsx +13 -0
- package/example/src/pages/UI/index.tsx +11 -0
- package/example/src/pages/User/components/BindListModal.tsx +1 -1
- package/example/src/pages/User/components/PohListModal.tsx +1 -1
- package/example/src/pages/User/index.tsx +1 -13
- package/example/src/pages/Wallet/components/AssetListModal.tsx +15 -0
- package/example/src/pages/Wallet/components/ChainListModal.tsx +11 -0
- package/example/src/pages/Wallet/components/ImportTokenListModal.tsx +15 -0
- package/example/src/pages/Wallet/components/MatchWallet.tsx +20 -0
- package/example/src/pages/Wallet/components/WalletChainListModal.tsx +11 -0
- package/example/src/pages/{Wallet.tsx → Wallet/index.tsx} +33 -2
- package/package.json +6 -1
- package/dist/chunk-A3XSTHEE.mjs.map +0 -1
- package/dist/chunk-DPXMCLYK.mjs.map +0 -1
- package/dist/chunk-SQIJR7RA.mjs.map +0 -1
- package/dist/chunk-TOUC33US.mjs.map +0 -1
- package/dist/index-CWYElOA2.d.mts +0 -65
- package/dist/index-CoTirILQ.d.ts +0 -65
- /package/example/src/{pages/User/components → components}/QueryDisplay.tsx +0 -0
package/dist/hooks/index.js
CHANGED
|
@@ -32,57 +32,19 @@ var hooks_exports = {};
|
|
|
32
32
|
__export(hooks_exports, {
|
|
33
33
|
useCopyClipboard: () => useCopyClipboard,
|
|
34
34
|
useLayout: () => useLayout_exports,
|
|
35
|
+
useMatchChain: () => useMatchChain,
|
|
35
36
|
useMatchEvents: () => useMatchEvents,
|
|
37
|
+
useMatchWallet: () => useMatchWallet,
|
|
38
|
+
useModal: () => useModal,
|
|
39
|
+
useToast: () => useToast,
|
|
36
40
|
useUserInfo: () => useUserInfo,
|
|
37
|
-
useWallet: () =>
|
|
41
|
+
useWallet: () => useWallet2
|
|
38
42
|
});
|
|
39
43
|
module.exports = __toCommonJS(hooks_exports);
|
|
40
44
|
|
|
41
45
|
// src/store/useLocalStore.ts
|
|
42
46
|
var import_zustand = require("zustand");
|
|
43
47
|
var import_middleware = require("zustand/middleware");
|
|
44
|
-
var persistedState = (0, import_middleware.persist)(
|
|
45
|
-
(set) => ({
|
|
46
|
-
appid: "",
|
|
47
|
-
token: "",
|
|
48
|
-
did: "",
|
|
49
|
-
mid: "",
|
|
50
|
-
overview: null,
|
|
51
|
-
theme: "light",
|
|
52
|
-
setOverview: (overview) => set({
|
|
53
|
-
overview,
|
|
54
|
-
address: overview.address,
|
|
55
|
-
did: overview.did,
|
|
56
|
-
mid: overview.mid
|
|
57
|
-
}),
|
|
58
|
-
endpoints: {
|
|
59
|
-
back: "https://api.matchid.ai/",
|
|
60
|
-
auth: "https://auth.matchid.ai/"
|
|
61
|
-
},
|
|
62
|
-
setDid: (did) => set({ did }),
|
|
63
|
-
setToken: (token) => set({ token }),
|
|
64
|
-
setAppid: (appid) => set({ appid }),
|
|
65
|
-
setMid: (mid) => set({ mid }),
|
|
66
|
-
logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
|
|
67
|
-
setTheme: (theme) => set({ theme }),
|
|
68
|
-
setEndpoints: (endpoints) => set({ endpoints }),
|
|
69
|
-
address: "",
|
|
70
|
-
setAddress: (address) => set({ address }),
|
|
71
|
-
locale: "en",
|
|
72
|
-
setLocale: (locale) => set({ locale }),
|
|
73
|
-
wallet: {
|
|
74
|
-
type: "UserPasscode"
|
|
75
|
-
},
|
|
76
|
-
setWallet: (wallet) => set({ wallet })
|
|
77
|
-
}),
|
|
78
|
-
{ name: "match-local" }
|
|
79
|
-
);
|
|
80
|
-
var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
|
|
81
|
-
var localStore = useLocalStore;
|
|
82
|
-
var useLocalStore_default = useLocalStore;
|
|
83
|
-
|
|
84
|
-
// src/hooks/useUserInfo.tsx
|
|
85
|
-
var import_react29 = require("react");
|
|
86
48
|
|
|
87
49
|
// src/api/request.ts
|
|
88
50
|
var import_axios = __toESM(require("axios"));
|
|
@@ -286,71 +248,154 @@ var getAuthInfoApi = () => {
|
|
|
286
248
|
method: "GET"
|
|
287
249
|
});
|
|
288
250
|
};
|
|
251
|
+
var getUserChainListApi = () => {
|
|
252
|
+
return request_default({
|
|
253
|
+
url: `/api/v1/user/chain/list`,
|
|
254
|
+
method: "GET"
|
|
255
|
+
});
|
|
256
|
+
};
|
|
289
257
|
|
|
290
|
-
// src/
|
|
258
|
+
// src/store/useLocalStore.ts
|
|
259
|
+
var persistedState = (0, import_middleware.persist)(
|
|
260
|
+
(set) => ({
|
|
261
|
+
appid: "",
|
|
262
|
+
token: "",
|
|
263
|
+
did: "",
|
|
264
|
+
mid: "",
|
|
265
|
+
overview: null,
|
|
266
|
+
theme: "light",
|
|
267
|
+
setOverview: (overview) => set({
|
|
268
|
+
overview,
|
|
269
|
+
address: overview.address,
|
|
270
|
+
did: overview.did,
|
|
271
|
+
mid: overview.mid
|
|
272
|
+
}),
|
|
273
|
+
refreshOverview: async () => {
|
|
274
|
+
const res = await getOverviewInfoApi();
|
|
275
|
+
if (res.data) {
|
|
276
|
+
set({ overview: res.data });
|
|
277
|
+
set({ address: res.data.address });
|
|
278
|
+
set({ did: res.data.did });
|
|
279
|
+
set({ mid: res.data.mid });
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
endpoints: {
|
|
283
|
+
back: "https://api.matchid.ai/",
|
|
284
|
+
auth: "https://auth.matchid.ai/"
|
|
285
|
+
},
|
|
286
|
+
setDid: (did) => set({ did }),
|
|
287
|
+
setToken: (token) => set({ token }),
|
|
288
|
+
setAppid: (appid) => set({ appid }),
|
|
289
|
+
setMid: (mid) => set({ mid }),
|
|
290
|
+
logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
|
|
291
|
+
setTheme: (theme) => set({ theme }),
|
|
292
|
+
setEndpoints: (endpoints) => set({ endpoints }),
|
|
293
|
+
address: "",
|
|
294
|
+
setAddress: (address) => set({ address }),
|
|
295
|
+
locale: "en",
|
|
296
|
+
setLocale: (locale) => set({ locale }),
|
|
297
|
+
wallet: {
|
|
298
|
+
type: "UserPasscode"
|
|
299
|
+
},
|
|
300
|
+
setWallet: (wallet) => set({ wallet }),
|
|
301
|
+
chainId: 698,
|
|
302
|
+
setChainId: (chainId) => set({ chainId })
|
|
303
|
+
}),
|
|
304
|
+
{ name: "match-local" }
|
|
305
|
+
);
|
|
306
|
+
var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
|
|
307
|
+
var localStore = useLocalStore;
|
|
308
|
+
var useLocalStore_default = useLocalStore;
|
|
309
|
+
|
|
310
|
+
// src/hooks/useUserInfo.tsx
|
|
291
311
|
var import_react28 = require("react");
|
|
292
312
|
|
|
293
|
-
// src/
|
|
294
|
-
var
|
|
313
|
+
// src/MatchContext.tsx
|
|
314
|
+
var import_react27 = require("react");
|
|
295
315
|
|
|
296
|
-
// src/
|
|
297
|
-
var
|
|
316
|
+
// src/store/useModalStore.ts
|
|
317
|
+
var import_zustand2 = require("zustand");
|
|
298
318
|
|
|
299
319
|
// src/assets/icon/BackIcon.tsx
|
|
300
|
-
var
|
|
320
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
301
321
|
|
|
302
322
|
// src/assets/icon/CloseIcon.tsx
|
|
303
|
-
var
|
|
323
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
304
324
|
|
|
305
325
|
// src/assets/icon/XIcon.tsx
|
|
306
|
-
var
|
|
326
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
307
327
|
|
|
308
328
|
// src/assets/icon/GoogleIcon.tsx
|
|
309
|
-
var
|
|
329
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
310
330
|
|
|
311
331
|
// src/assets/icon/WalletIcon.tsx
|
|
312
|
-
var
|
|
332
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
313
333
|
|
|
314
334
|
// src/assets/icon/TelegramIcon.tsx
|
|
315
|
-
var
|
|
335
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
316
336
|
|
|
317
337
|
// src/assets/icon/EmailIcon.tsx
|
|
318
|
-
var
|
|
338
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
319
339
|
|
|
320
340
|
// src/assets/icon/ArrowRightIcon.tsx
|
|
321
|
-
var
|
|
341
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
322
342
|
|
|
323
343
|
// src/assets/icon/CloseRoundIcon.tsx
|
|
324
|
-
var
|
|
344
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
325
345
|
|
|
326
346
|
// src/assets/icon/LoadingIcon.tsx
|
|
327
|
-
var
|
|
347
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
348
|
+
var LoadingIcon = ({ size = 22, className = "", color = "white" }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
349
|
+
"svg",
|
|
350
|
+
{
|
|
351
|
+
width: size,
|
|
352
|
+
height: size,
|
|
353
|
+
viewBox: "0 0 22 22",
|
|
354
|
+
fill: "none",
|
|
355
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
356
|
+
className,
|
|
357
|
+
children: [
|
|
358
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { d: "M11 1V3.5", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
359
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.3", d: "M3.92834 3.92871L5.69977 5.70017", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
360
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.4", d: "M1 11H3.5", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
361
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.5", d: "M3.92834 18.0722L5.69977 16.3008", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
362
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.6", d: "M11 21V18.5", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
363
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.7", d: "M18.0715 18.0722L16.3 16.3008", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
364
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.8", d: "M21 11H18.5", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }),
|
|
365
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("path", { opacity: "0.9", d: "M18.0715 3.92871L16.3 5.70017", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })
|
|
366
|
+
]
|
|
367
|
+
}
|
|
368
|
+
);
|
|
369
|
+
var LoadingIcon_default = LoadingIcon;
|
|
328
370
|
|
|
329
371
|
// src/assets/icon/EmailLineIcon.tsx
|
|
330
|
-
var
|
|
372
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
331
373
|
|
|
332
374
|
// src/assets/icon/UnLoginIcon.tsx
|
|
333
|
-
var
|
|
375
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
334
376
|
|
|
335
377
|
// src/assets/icon/LoginIcon.tsx
|
|
336
|
-
var
|
|
378
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
337
379
|
|
|
338
380
|
// src/assets/icon/CheckRoundIcon.tsx
|
|
339
|
-
var
|
|
381
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
340
382
|
|
|
341
383
|
// src/assets/icon/PasswordRoundIcon.tsx
|
|
342
|
-
var
|
|
384
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
343
385
|
|
|
344
386
|
// src/assets/icon/CloseEyeIcon.tsx
|
|
345
|
-
var
|
|
387
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
346
388
|
|
|
347
389
|
// src/assets/icon/OpenEyeIcon.tsx
|
|
348
|
-
var
|
|
390
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
349
391
|
|
|
350
392
|
// src/assets/icon/DeleteRoundIcon.tsx
|
|
351
|
-
var
|
|
393
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
352
394
|
|
|
353
395
|
// src/assets/icon/FacebookIcon.tsx
|
|
396
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
397
|
+
|
|
398
|
+
// src/assets/icon/ArrowLeftIcon.tsx
|
|
354
399
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
355
400
|
|
|
356
401
|
// src/assets/icon/GithubIcon.tsx
|
|
@@ -422,6 +467,9 @@ var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
|
422
467
|
// src/assets/icon/TonLightIcon.tsx
|
|
423
468
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
424
469
|
|
|
470
|
+
// src/assets/icon/ErrorRoundIcon.tsx
|
|
471
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
472
|
+
|
|
425
473
|
// src/hooks/useLayout.tsx
|
|
426
474
|
var useLayout_exports = {};
|
|
427
475
|
__export(useLayout_exports, {
|
|
@@ -442,93 +490,42 @@ function useDownMd() {
|
|
|
442
490
|
return isBelowMd;
|
|
443
491
|
}
|
|
444
492
|
|
|
445
|
-
// src/components/Overlay/index.tsx
|
|
446
|
-
var import_react2 = require("react");
|
|
447
|
-
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
448
|
-
|
|
449
|
-
// src/components/Modal/index.tsx
|
|
450
|
-
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
451
|
-
|
|
452
|
-
// src/components/PasswordModal/index.tsx
|
|
453
|
-
var import_react4 = require("react");
|
|
454
|
-
|
|
455
|
-
// src/components/Input/index.tsx
|
|
456
|
-
var import_react3 = require("react");
|
|
457
|
-
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
458
|
-
|
|
459
|
-
// src/components/Field/index.tsx
|
|
460
|
-
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
461
|
-
|
|
462
|
-
// src/components/Button/index.tsx
|
|
463
|
-
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
464
|
-
|
|
465
|
-
// src/components/PasswordModal/index.tsx
|
|
466
|
-
var import_react_intl = require("react-intl");
|
|
467
|
-
|
|
468
|
-
// src/store/useStore.ts
|
|
469
|
-
var import_zustand2 = require("zustand");
|
|
470
|
-
var useStore = (0, import_zustand2.create)((set) => ({
|
|
471
|
-
walletReady: false,
|
|
472
|
-
setWalletReady: (inited) => set({ walletReady: inited }),
|
|
473
|
-
recoveryModal: {
|
|
474
|
-
open: false,
|
|
475
|
-
success: async () => {
|
|
476
|
-
},
|
|
477
|
-
close: async () => {
|
|
478
|
-
}
|
|
479
|
-
},
|
|
480
|
-
setRecoveryModal: (params) => set({ recoveryModal: params }),
|
|
481
|
-
closeRecoveryModal: () => set({ recoveryModal: { open: false } })
|
|
482
|
-
}));
|
|
483
|
-
var useStore_default = useStore;
|
|
484
|
-
|
|
485
|
-
// src/components/PasswordModal/index.tsx
|
|
486
|
-
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
487
|
-
|
|
488
|
-
// src/components/RecoveryModal/index.tsx
|
|
489
|
-
var import_react5 = require("react");
|
|
490
|
-
var import_react_intl2 = require("react-intl");
|
|
491
|
-
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
492
|
-
|
|
493
|
-
// src/store/useModalStore.ts
|
|
494
|
-
var import_zustand3 = require("zustand");
|
|
495
|
-
|
|
496
493
|
// src/hooks/useConfig.tsx
|
|
497
|
-
var
|
|
494
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
498
495
|
var DEFAULT_WALLET_METHODS = ["evm", "sol", "btc", "tron", "ton"];
|
|
499
496
|
|
|
500
497
|
// src/store/useModalStore.ts
|
|
501
|
-
var useSOLModalStore = (0,
|
|
498
|
+
var useSOLModalStore = (0, import_zustand2.create)((set) => ({
|
|
502
499
|
isOpen: false,
|
|
503
500
|
type: "",
|
|
504
501
|
open: (type) => set({ isOpen: true, type }),
|
|
505
502
|
close: () => set({ isOpen: false })
|
|
506
503
|
}));
|
|
507
|
-
var useTRONModalStore = (0,
|
|
504
|
+
var useTRONModalStore = (0, import_zustand2.create)((set) => ({
|
|
508
505
|
isOpen: false,
|
|
509
506
|
type: "",
|
|
510
507
|
open: (type) => set({ isOpen: true, type }),
|
|
511
508
|
close: () => set({ isOpen: false })
|
|
512
509
|
}));
|
|
513
|
-
var useTONModalStore = (0,
|
|
510
|
+
var useTONModalStore = (0, import_zustand2.create)((set) => ({
|
|
514
511
|
isOpen: false,
|
|
515
512
|
type: "",
|
|
516
513
|
open: (type) => set({ isOpen: true, type }),
|
|
517
514
|
close: () => set({ isOpen: false })
|
|
518
515
|
}));
|
|
519
|
-
var useBTCModalStore = (0,
|
|
516
|
+
var useBTCModalStore = (0, import_zustand2.create)((set) => ({
|
|
520
517
|
isOpen: false,
|
|
521
518
|
type: "",
|
|
522
519
|
open: (type) => set({ isOpen: true, type }),
|
|
523
520
|
close: () => set({ isOpen: false })
|
|
524
521
|
}));
|
|
525
|
-
var useCEXBindModalStore = (0,
|
|
522
|
+
var useCEXBindModalStore = (0, import_zustand2.create)((set) => ({
|
|
526
523
|
type: "",
|
|
527
524
|
isOpen: false,
|
|
528
525
|
open: (type) => set({ isOpen: true, type }),
|
|
529
526
|
close: () => set({ isOpen: false })
|
|
530
527
|
}));
|
|
531
|
-
var useHashPanelStore = (0,
|
|
528
|
+
var useHashPanelStore = (0, import_zustand2.create)((set) => ({
|
|
532
529
|
isOpen: false,
|
|
533
530
|
hash: null,
|
|
534
531
|
chain: null,
|
|
@@ -539,7 +536,7 @@ var useHashPanelStore = (0, import_zustand3.create)((set) => ({
|
|
|
539
536
|
}),
|
|
540
537
|
close: () => set({ isOpen: false })
|
|
541
538
|
}));
|
|
542
|
-
var useWalletModalStore = (0,
|
|
539
|
+
var useWalletModalStore = (0, import_zustand2.create)((set) => ({
|
|
543
540
|
isOpen: false,
|
|
544
541
|
type: "",
|
|
545
542
|
methods: [],
|
|
@@ -548,10 +545,17 @@ var useWalletModalStore = (0, import_zustand3.create)((set) => ({
|
|
|
548
545
|
}));
|
|
549
546
|
|
|
550
547
|
// src/components/EmailModal/index.tsx
|
|
551
|
-
var
|
|
548
|
+
var import_react6 = require("react");
|
|
549
|
+
|
|
550
|
+
// src/ui/Overlay/index.tsx
|
|
551
|
+
var import_react2 = require("react");
|
|
552
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
553
|
+
|
|
554
|
+
// src/ui/Modal/index.tsx
|
|
555
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
552
556
|
|
|
553
557
|
// src/components/EmailModal/StepEmail.tsx
|
|
554
|
-
var
|
|
558
|
+
var import_react4 = require("react");
|
|
555
559
|
|
|
556
560
|
// src/utils/index.ts
|
|
557
561
|
var getVersion = () => {
|
|
@@ -564,69 +568,111 @@ function getAppClientId() {
|
|
|
564
568
|
return "react-sdk-" + getVersion();
|
|
565
569
|
}
|
|
566
570
|
|
|
571
|
+
// src/ui/Button/index.tsx
|
|
572
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
573
|
+
function Button({
|
|
574
|
+
size = "df",
|
|
575
|
+
disabled = false,
|
|
576
|
+
loading = false,
|
|
577
|
+
children,
|
|
578
|
+
onClick,
|
|
579
|
+
highlight = false,
|
|
580
|
+
block = false,
|
|
581
|
+
type = "button",
|
|
582
|
+
rounded = true,
|
|
583
|
+
className = "",
|
|
584
|
+
style = {}
|
|
585
|
+
}) {
|
|
586
|
+
const onAction = () => {
|
|
587
|
+
if (!disabled && !loading) {
|
|
588
|
+
onClick && onClick();
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
592
|
+
"button",
|
|
593
|
+
{
|
|
594
|
+
type,
|
|
595
|
+
className: `${className} matchid-btn ${"matchid-btn-" + size} ${highlight ? "matchid-btn-highlight" : ""} ${loading ? "matchid-btn-loading" : ""} ${block ? "matchid-btn-block" : ""} ${rounded ? "matchid-btn-rounded" : ""}`,
|
|
596
|
+
disabled: disabled || loading,
|
|
597
|
+
style: {
|
|
598
|
+
...style
|
|
599
|
+
},
|
|
600
|
+
onClick: onAction,
|
|
601
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(LoadingIcon_default, { className: "matchid-btn-loading-icon", color: "var(--matchid-btn-loading-color)" }) : children
|
|
602
|
+
}
|
|
603
|
+
);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// src/ui/Input/index.tsx
|
|
607
|
+
var import_react3 = require("react");
|
|
608
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
609
|
+
|
|
610
|
+
// src/ui/Field/index.tsx
|
|
611
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
612
|
+
|
|
567
613
|
// src/components/EmailModal/StepEmail.tsx
|
|
568
|
-
var
|
|
569
|
-
var
|
|
614
|
+
var import_react_intl = require("react-intl");
|
|
615
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
570
616
|
|
|
571
617
|
// src/components/EmailModal/StepVerify.tsx
|
|
572
|
-
var
|
|
573
|
-
var
|
|
574
|
-
var
|
|
618
|
+
var import_react5 = require("react");
|
|
619
|
+
var import_react_intl2 = require("react-intl");
|
|
620
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
575
621
|
|
|
576
622
|
// src/components/EmailModal/index.tsx
|
|
577
|
-
var
|
|
578
|
-
var
|
|
623
|
+
var import_react_intl3 = require("react-intl");
|
|
624
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
579
625
|
|
|
580
|
-
// src/
|
|
581
|
-
var
|
|
582
|
-
var
|
|
626
|
+
// src/ui/Popover/index.tsx
|
|
627
|
+
var import_react7 = require("react");
|
|
628
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
583
629
|
|
|
584
630
|
// src/components/LoginBox/index.tsx
|
|
585
|
-
var
|
|
586
|
-
var
|
|
631
|
+
var import_react8 = require("react");
|
|
632
|
+
var import_react_intl4 = require("react-intl");
|
|
587
633
|
|
|
588
634
|
// src/hooks/useAppConfig.ts
|
|
589
635
|
var import_react_query = require("@tanstack/react-query");
|
|
590
636
|
|
|
591
637
|
// src/components/LoginBox/index.tsx
|
|
592
|
-
var
|
|
638
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
593
639
|
|
|
594
640
|
// src/components/LoginButton/index.tsx
|
|
595
|
-
var
|
|
641
|
+
var import_react10 = require("react");
|
|
596
642
|
|
|
597
643
|
// src/components/LoginPanel/index.tsx
|
|
598
|
-
var
|
|
599
|
-
var
|
|
644
|
+
var import_react_intl5 = require("react-intl");
|
|
645
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
600
646
|
|
|
601
647
|
// src/components/LoginModal/index.tsx
|
|
602
|
-
var
|
|
648
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
603
649
|
|
|
604
650
|
// src/components/UserPopover/index.tsx
|
|
605
|
-
var
|
|
651
|
+
var import_react9 = require("react");
|
|
606
652
|
|
|
607
653
|
// src/assets/icon/ProfileIcon.tsx
|
|
608
|
-
var
|
|
654
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
609
655
|
|
|
610
656
|
// src/components/UserPopover/index.tsx
|
|
611
|
-
var
|
|
612
|
-
var
|
|
657
|
+
var import_react_intl6 = require("react-intl");
|
|
658
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
613
659
|
|
|
614
660
|
// src/components/LoginButton/index.tsx
|
|
615
|
-
var
|
|
616
|
-
var
|
|
661
|
+
var import_react_intl7 = require("react-intl");
|
|
662
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
617
663
|
|
|
618
664
|
// src/components/UsernameModal/index.tsx
|
|
619
|
-
var
|
|
665
|
+
var import_react11 = require("react");
|
|
620
666
|
|
|
621
667
|
// src/assets/icon/InfoRoundIcon.tsx
|
|
622
|
-
var
|
|
668
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
623
669
|
|
|
624
670
|
// src/components/UsernameModal/index.tsx
|
|
625
|
-
var
|
|
626
|
-
var
|
|
671
|
+
var import_react_intl8 = require("react-intl");
|
|
672
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
627
673
|
|
|
628
674
|
// src/components/SOLModal/index.tsx
|
|
629
|
-
var
|
|
675
|
+
var import_react13 = __toESM(require("react"));
|
|
630
676
|
|
|
631
677
|
// src/hooks/eventManager.ts
|
|
632
678
|
var EventManager = class {
|
|
@@ -672,14 +718,14 @@ var WalletAdapterNetwork;
|
|
|
672
718
|
// src/components/SOLModal/index.tsx
|
|
673
719
|
var import_wallet_adapter_wallets = require("@solana/wallet-adapter-wallets");
|
|
674
720
|
var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
|
|
675
|
-
var
|
|
721
|
+
var import_react_intl9 = require("react-intl");
|
|
676
722
|
|
|
677
723
|
// src/components/WalletModalContent/index.tsx
|
|
678
|
-
var
|
|
679
|
-
var
|
|
724
|
+
var import_react12 = require("react");
|
|
725
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
680
726
|
|
|
681
727
|
// src/components/SOLModal/index.tsx
|
|
682
|
-
var
|
|
728
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
683
729
|
var wallets = [
|
|
684
730
|
new import_wallet_adapter_wallets.PhantomWalletAdapter(),
|
|
685
731
|
new import_wallet_adapter_wallets.SolflareWalletAdapter(),
|
|
@@ -723,377 +769,146 @@ var wallets = [
|
|
|
723
769
|
];
|
|
724
770
|
|
|
725
771
|
// src/components/TRONModal/index.tsx
|
|
726
|
-
var
|
|
727
|
-
var
|
|
772
|
+
var import_react15 = __toESM(require("react"));
|
|
773
|
+
var import_react_intl10 = require("react-intl");
|
|
728
774
|
|
|
729
775
|
// src/hooks/useTRONWallet.ts
|
|
730
|
-
var
|
|
776
|
+
var import_react14 = require("react");
|
|
731
777
|
|
|
732
778
|
// src/components/TRONModal/index.tsx
|
|
733
|
-
var
|
|
779
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
734
780
|
|
|
735
781
|
// src/components/TONModal/index.tsx
|
|
736
|
-
var
|
|
737
|
-
var
|
|
782
|
+
var import_react16 = __toESM(require("react"));
|
|
783
|
+
var import_react_intl11 = require("react-intl");
|
|
738
784
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
739
|
-
var
|
|
785
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
740
786
|
|
|
741
787
|
// src/components/BTCModal/index.tsx
|
|
742
|
-
var
|
|
743
|
-
var
|
|
788
|
+
var import_react18 = __toESM(require("react"));
|
|
789
|
+
var import_react_intl12 = require("react-intl");
|
|
744
790
|
|
|
745
791
|
// src/lib/btc/XverseAdapter.ts
|
|
746
792
|
var import_sats_connect = require("sats-connect");
|
|
747
793
|
|
|
748
794
|
// src/hooks/useBTCWallet.ts
|
|
749
|
-
var
|
|
795
|
+
var import_react17 = require("react");
|
|
750
796
|
|
|
751
797
|
// src/components/BTCModal/index.tsx
|
|
752
|
-
var
|
|
798
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
753
799
|
|
|
754
800
|
// src/components/WalletModal/index.tsx
|
|
755
|
-
var
|
|
756
|
-
var
|
|
757
|
-
var
|
|
801
|
+
var import_react19 = require("react");
|
|
802
|
+
var import_react_intl13 = require("react-intl");
|
|
803
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
758
804
|
|
|
759
805
|
// src/components/CEXBindModal/index.tsx
|
|
760
|
-
var
|
|
761
|
-
var
|
|
762
|
-
var
|
|
806
|
+
var import_react20 = require("react");
|
|
807
|
+
var import_react_intl14 = require("react-intl");
|
|
808
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
763
809
|
|
|
764
|
-
// src/
|
|
810
|
+
// src/ui/HashPanel/index.tsx
|
|
765
811
|
var import_viem = require("viem");
|
|
766
|
-
var
|
|
812
|
+
var import_react21 = require("react");
|
|
767
813
|
var import_react_query2 = require("@tanstack/react-query");
|
|
768
814
|
|
|
769
|
-
// src/
|
|
815
|
+
// src/ui/Drawer/index.tsx
|
|
816
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
817
|
+
|
|
818
|
+
// src/ui/ModalDrawer/index.tsx
|
|
770
819
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
771
820
|
|
|
772
|
-
// src/
|
|
821
|
+
// src/ui/HashPanel/index.tsx
|
|
773
822
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
774
823
|
|
|
775
|
-
// src/
|
|
824
|
+
// src/context/BusinessProvider.tsx
|
|
776
825
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
777
826
|
|
|
778
|
-
// src/context/
|
|
827
|
+
// src/context/ModalContext.tsx
|
|
828
|
+
var import_react23 = require("react");
|
|
829
|
+
var import_react_dom = require("react-dom");
|
|
830
|
+
|
|
831
|
+
// src/ui/Switch/index.tsx
|
|
779
832
|
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
780
833
|
|
|
834
|
+
// src/ui/AlphaAvatar/index.tsx
|
|
835
|
+
var import_react22 = require("react");
|
|
836
|
+
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
837
|
+
|
|
838
|
+
// src/ui/Radio/index.tsx
|
|
839
|
+
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
840
|
+
function Radio({
|
|
841
|
+
checked = false,
|
|
842
|
+
onChange,
|
|
843
|
+
size = 24,
|
|
844
|
+
color = "#FC802D",
|
|
845
|
+
className = "",
|
|
846
|
+
style = {}
|
|
847
|
+
}) {
|
|
848
|
+
return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { onClick: onChange, className: `matchid-radio ${className} ${checked ? "matchid-radio-checked" : ""}`, style: {
|
|
849
|
+
width: size,
|
|
850
|
+
height: size,
|
|
851
|
+
...style,
|
|
852
|
+
// @ts-ignore
|
|
853
|
+
"--matchid-radio-checked": color
|
|
854
|
+
}, children: checked && /* @__PURE__ */ (0, import_jsx_runtime76.jsx)("div", { className: `matchid-radio-content`, style: {
|
|
855
|
+
width: Math.floor(size * 0.7),
|
|
856
|
+
height: Math.floor(size * 0.7)
|
|
857
|
+
} }) });
|
|
858
|
+
}
|
|
859
|
+
|
|
860
|
+
// src/context/ModalContext.tsx
|
|
861
|
+
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
862
|
+
var ModalContext = (0, import_react23.createContext)(null);
|
|
863
|
+
function useModal() {
|
|
864
|
+
const context = (0, import_react23.useContext)(ModalContext);
|
|
865
|
+
if (!context) {
|
|
866
|
+
throw new Error("useModal must be used within a ModalProvider");
|
|
867
|
+
}
|
|
868
|
+
return context;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
// src/context/ToastContext.tsx
|
|
872
|
+
var import_react24 = require("react");
|
|
873
|
+
var import_react_dom2 = require("react-dom");
|
|
874
|
+
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
875
|
+
var ToastContext = (0, import_react24.createContext)(null);
|
|
876
|
+
function useToast() {
|
|
877
|
+
const context = (0, import_react24.useContext)(ToastContext);
|
|
878
|
+
if (!context) {
|
|
879
|
+
throw new Error("useToast must be used within a ToastProvider");
|
|
880
|
+
}
|
|
881
|
+
return context;
|
|
882
|
+
}
|
|
883
|
+
|
|
781
884
|
// src/context/index.tsx
|
|
782
|
-
var
|
|
783
|
-
// <MpcWalletProvider>
|
|
784
|
-
require("react/jsx-runtime")
|
|
785
|
-
);
|
|
885
|
+
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
786
886
|
|
|
787
887
|
// src/hooks/useWalletInit.ts
|
|
788
|
-
var import_react26 = require("react");
|
|
789
|
-
|
|
790
|
-
// src/hooks/useWallet.tsx
|
|
791
|
-
var import_viem2 = require("viem");
|
|
792
|
-
var import_accounts = require("viem/accounts");
|
|
793
|
-
var import_viem3 = require("viem");
|
|
794
888
|
var import_react25 = require("react");
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
address: address2
|
|
804
|
-
}) => {
|
|
805
|
-
return window.matchProvider.waitUntilWalletMessage(
|
|
806
|
-
{
|
|
807
|
-
method: "initCore",
|
|
808
|
-
data: {
|
|
809
|
-
AppId: appid,
|
|
810
|
-
AppClientId,
|
|
811
|
-
UserId: did,
|
|
812
|
-
AccessToken: token,
|
|
813
|
-
Address: address2
|
|
814
|
-
}
|
|
815
|
-
}
|
|
816
|
-
);
|
|
817
|
-
};
|
|
818
|
-
const generateEmbeddedWallets = async (data) => {
|
|
819
|
-
return await window.matchProvider.waitUntilWalletMessage({
|
|
820
|
-
method: "generateEmbeddedWallets",
|
|
821
|
-
data
|
|
822
|
-
});
|
|
823
|
-
};
|
|
824
|
-
const recoveryEmbeddedWallets = async (data) => {
|
|
825
|
-
return await window.matchProvider.waitUntilWalletMessage({
|
|
826
|
-
method: "recoveryEmbeddedWallets",
|
|
827
|
-
data
|
|
828
|
-
});
|
|
829
|
-
};
|
|
830
|
-
const isRecovered = async () => {
|
|
831
|
-
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
832
|
-
method: "isRecovered"
|
|
833
|
-
});
|
|
834
|
-
return res.isRecovered;
|
|
835
|
-
};
|
|
836
|
-
const recoverAfter = async ({
|
|
837
|
-
chainType,
|
|
838
|
-
handle
|
|
839
|
-
}) => {
|
|
840
|
-
return new Promise(async (resolve, reject) => {
|
|
841
|
-
const res = await isRecovered();
|
|
842
|
-
matchlog_default.log("sdk.mpc.isRecovered", res);
|
|
843
|
-
if (res) {
|
|
844
|
-
await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
|
|
845
|
-
await handle(resolve, reject);
|
|
846
|
-
return;
|
|
847
|
-
}
|
|
848
|
-
setRecoveryModal({
|
|
849
|
-
chainType,
|
|
850
|
-
open: true,
|
|
851
|
-
success: async () => {
|
|
852
|
-
closeRecoveryModal();
|
|
853
|
-
matchlog_default.log("sdk.mpc.recover", "Success");
|
|
854
|
-
await handle(resolve, reject);
|
|
855
|
-
},
|
|
856
|
-
close: async () => {
|
|
857
|
-
closeRecoveryModal();
|
|
858
|
-
reject(new Error("recover modal close"));
|
|
859
|
-
}
|
|
860
|
-
});
|
|
861
|
-
await initCore({
|
|
862
|
-
address: overview?.address || "",
|
|
863
|
-
did: overview?.did || ""
|
|
864
|
-
});
|
|
865
|
-
});
|
|
866
|
-
};
|
|
867
|
-
const signMessage2 = async ({
|
|
868
|
-
message,
|
|
869
|
-
chainType = "ethereum" /* Ethereum */
|
|
870
|
-
}) => {
|
|
871
|
-
const getSign = async (resolve, reject) => {
|
|
872
|
-
try {
|
|
873
|
-
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
874
|
-
method: "signMessage",
|
|
875
|
-
data: {
|
|
876
|
-
message,
|
|
877
|
-
chainType
|
|
878
|
-
}
|
|
879
|
-
});
|
|
880
|
-
resolve(recoverRes.message);
|
|
881
|
-
} catch (error) {
|
|
882
|
-
console.error("qwe-sign-error", error);
|
|
883
|
-
reject(error);
|
|
884
|
-
}
|
|
885
|
-
};
|
|
886
|
-
return await recoverAfter({
|
|
887
|
-
handle: getSign,
|
|
888
|
-
chainType
|
|
889
|
-
});
|
|
890
|
-
};
|
|
891
|
-
const signTransaction = async ({
|
|
892
|
-
transaction,
|
|
893
|
-
chainType = "ethereum" /* Ethereum */,
|
|
894
|
-
chain
|
|
895
|
-
}) => {
|
|
896
|
-
console.log("qwe-sign-transaction", transaction);
|
|
897
|
-
const getSign = async (resolve, reject) => {
|
|
898
|
-
try {
|
|
899
|
-
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
900
|
-
method: "signTransaction",
|
|
901
|
-
data: {
|
|
902
|
-
transaction,
|
|
903
|
-
chainType,
|
|
904
|
-
chain
|
|
905
|
-
}
|
|
906
|
-
});
|
|
907
|
-
resolve(recoverRes.message);
|
|
908
|
-
} catch (error) {
|
|
909
|
-
console.error("qwe-sign-error", error);
|
|
910
|
-
reject(error);
|
|
911
|
-
}
|
|
912
|
-
};
|
|
913
|
-
return await recoverAfter({
|
|
914
|
-
handle: getSign,
|
|
915
|
-
chainType
|
|
916
|
-
});
|
|
917
|
-
};
|
|
918
|
-
const evmAccount = (0, import_react25.useMemo)(() => {
|
|
919
|
-
return address ? (0, import_accounts.toAccount)({
|
|
920
|
-
address,
|
|
921
|
-
async signMessage({ message }) {
|
|
922
|
-
return await signMessage2({
|
|
923
|
-
message,
|
|
924
|
-
chainType: "ethereum" /* Ethereum */
|
|
925
|
-
});
|
|
926
|
-
},
|
|
927
|
-
async signTransaction(transaction, options) {
|
|
928
|
-
const { account, chain, ...restTransaction } = transaction;
|
|
929
|
-
console.log("qwe-sign-transaction", restTransaction, options);
|
|
930
|
-
return await signTransaction({
|
|
931
|
-
transaction: {
|
|
932
|
-
...restTransaction
|
|
933
|
-
},
|
|
934
|
-
chainType: "ethereum" /* Ethereum */,
|
|
935
|
-
chain: {
|
|
936
|
-
id: chain?.id || restTransaction.chainId,
|
|
937
|
-
name: chain?.name,
|
|
938
|
-
nativeCurrency: {
|
|
939
|
-
name: chain?.nativeCurrency?.name || "ETH",
|
|
940
|
-
symbol: chain?.nativeCurrency?.symbol || "ETH",
|
|
941
|
-
decimals: chain?.nativeCurrency?.decimals || 18
|
|
942
|
-
},
|
|
943
|
-
rpcUrls: chain?.rpcUrls
|
|
944
|
-
}
|
|
945
|
-
});
|
|
946
|
-
},
|
|
947
|
-
async signTypedData(typedData) {
|
|
948
|
-
return "0x";
|
|
949
|
-
}
|
|
950
|
-
}) : void 0;
|
|
951
|
-
}, [address]);
|
|
952
|
-
(0, import_react25.useEffect)(() => {
|
|
953
|
-
matchlog_default.log("qwe-evmAccount", evmAccount);
|
|
954
|
-
}, [evmAccount]);
|
|
955
|
-
return {
|
|
956
|
-
walletReady,
|
|
957
|
-
evmAccount,
|
|
958
|
-
address,
|
|
959
|
-
initCore,
|
|
960
|
-
signMessage: signMessage2,
|
|
961
|
-
signTransaction,
|
|
962
|
-
isRecovered,
|
|
963
|
-
recoverAfter,
|
|
964
|
-
generateEmbeddedWallets,
|
|
965
|
-
recoveryEmbeddedWallets,
|
|
966
|
-
createWalletClient: (parameters) => {
|
|
967
|
-
if (!evmAccount) {
|
|
968
|
-
return;
|
|
969
|
-
}
|
|
970
|
-
const obj = (0, import_viem3.createWalletClient)({
|
|
971
|
-
...parameters,
|
|
972
|
-
account: evmAccount
|
|
973
|
-
});
|
|
974
|
-
const sendTransaction = async (transaction) => {
|
|
975
|
-
const getSign = async (resolve, reject) => {
|
|
976
|
-
const { chain, ...restTransaction } = transaction;
|
|
977
|
-
const chainId = chain ? chain.id : await obj.getChainId();
|
|
978
|
-
const _chain = chain || obj.chain;
|
|
979
|
-
const transactionId = Date.now().toString() + Math.random().toString().slice(6);
|
|
980
|
-
window.matchProvider.transactionMessageIntervalMap[transactionId] = {
|
|
981
|
-
transaction,
|
|
982
|
-
func: async () => {
|
|
983
|
-
try {
|
|
984
|
-
const {
|
|
985
|
-
chain: chain2,
|
|
986
|
-
account,
|
|
987
|
-
...prepareTransactionRequest
|
|
988
|
-
// @ts-ignore
|
|
989
|
-
} = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
|
|
990
|
-
window.matchProvider.sendWalletMessage({
|
|
991
|
-
method: "prepareTransactionRequest",
|
|
992
|
-
data: {
|
|
993
|
-
prepareTransactionRequest,
|
|
994
|
-
transactionId
|
|
995
|
-
}
|
|
996
|
-
});
|
|
997
|
-
} catch (error) {
|
|
998
|
-
console.error(error);
|
|
999
|
-
}
|
|
1000
|
-
},
|
|
1001
|
-
interval: setInterval(() => {
|
|
1002
|
-
window.matchProvider.transactionMessageIntervalMap[transactionId].func();
|
|
1003
|
-
}, 1e4)
|
|
1004
|
-
};
|
|
1005
|
-
try {
|
|
1006
|
-
const {
|
|
1007
|
-
chain: chain2,
|
|
1008
|
-
account,
|
|
1009
|
-
...prepareTransactionRequest
|
|
1010
|
-
// @ts-ignore
|
|
1011
|
-
} = await obj.prepareTransactionRequest(transaction);
|
|
1012
|
-
const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
|
|
1013
|
-
method: "sendTransaction",
|
|
1014
|
-
data: {
|
|
1015
|
-
transactionId,
|
|
1016
|
-
transaction: {
|
|
1017
|
-
...restTransaction
|
|
1018
|
-
},
|
|
1019
|
-
chainType: "ethereum" /* Ethereum */,
|
|
1020
|
-
chain: {
|
|
1021
|
-
id: chainId,
|
|
1022
|
-
name: _chain?.name,
|
|
1023
|
-
nativeCurrency: _chain?.nativeCurrency,
|
|
1024
|
-
rpcUrls: _chain?.rpcUrls
|
|
1025
|
-
},
|
|
1026
|
-
prepareTransactionRequest
|
|
1027
|
-
}
|
|
1028
|
-
});
|
|
1029
|
-
openHashPanel();
|
|
1030
|
-
const txHash = await obj.sendRawTransaction({
|
|
1031
|
-
serializedTransaction
|
|
1032
|
-
});
|
|
1033
|
-
openHashPanel({
|
|
1034
|
-
hash: txHash,
|
|
1035
|
-
chain: _chain
|
|
1036
|
-
});
|
|
1037
|
-
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
1038
|
-
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
1039
|
-
resolve(txHash);
|
|
1040
|
-
} catch (error) {
|
|
1041
|
-
console.error("qwe-sign-error", error);
|
|
1042
|
-
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
1043
|
-
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
1044
|
-
reject(error);
|
|
1045
|
-
}
|
|
1046
|
-
};
|
|
1047
|
-
return await recoverAfter({
|
|
1048
|
-
handle: getSign,
|
|
1049
|
-
chainType: "ethereum" /* Ethereum */
|
|
1050
|
-
});
|
|
1051
|
-
};
|
|
1052
|
-
const deployContract = async (parameters2) => {
|
|
1053
|
-
const { abi, args, bytecode, ...request3 } = parameters2;
|
|
1054
|
-
const calldata = (0, import_viem4.encodeDeployData)({ abi, args, bytecode });
|
|
1055
|
-
return await sendTransaction({
|
|
1056
|
-
...request3,
|
|
1057
|
-
data: calldata
|
|
1058
|
-
});
|
|
1059
|
-
};
|
|
1060
|
-
const writeContract = async (parameters2) => {
|
|
1061
|
-
const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
|
|
1062
|
-
const data = (0, import_viem2.encodeFunctionData)({
|
|
1063
|
-
abi,
|
|
1064
|
-
args,
|
|
1065
|
-
functionName
|
|
1066
|
-
});
|
|
1067
|
-
return await sendTransaction({
|
|
1068
|
-
data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
|
|
1069
|
-
to: address2,
|
|
1070
|
-
...request3
|
|
1071
|
-
});
|
|
1072
|
-
};
|
|
1073
|
-
return {
|
|
1074
|
-
...obj,
|
|
1075
|
-
sendTransaction,
|
|
1076
|
-
deployContract,
|
|
1077
|
-
writeContract
|
|
1078
|
-
};
|
|
1079
|
-
}
|
|
1080
|
-
};
|
|
1081
|
-
}
|
|
889
|
+
|
|
890
|
+
// src/store/useStore.ts
|
|
891
|
+
var import_zustand3 = require("zustand");
|
|
892
|
+
var useStore = (0, import_zustand3.create)((set) => ({
|
|
893
|
+
walletReady: false,
|
|
894
|
+
setWalletReady: (inited) => set({ walletReady: inited })
|
|
895
|
+
}));
|
|
896
|
+
var useStore_default = useStore;
|
|
1082
897
|
|
|
1083
898
|
// src/hooks/useWalletInit.ts
|
|
1084
|
-
var
|
|
899
|
+
var AppClientId = getAppClientId();
|
|
1085
900
|
|
|
1086
901
|
// src/hooks/useInit.tsx
|
|
1087
|
-
var
|
|
902
|
+
var import_react26 = require("react");
|
|
1088
903
|
|
|
1089
904
|
// src/MatchContext.tsx
|
|
1090
905
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1091
|
-
var
|
|
1092
|
-
var
|
|
906
|
+
var import_react_intl15 = require("react-intl");
|
|
907
|
+
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
1093
908
|
var queryClient = new import_react_query3.QueryClient();
|
|
1094
|
-
var MatchContext = (0,
|
|
909
|
+
var MatchContext = (0, import_react27.createContext)(void 0);
|
|
1095
910
|
var useMatch = () => {
|
|
1096
|
-
const context = (0,
|
|
911
|
+
const context = (0, import_react27.useContext)(MatchContext);
|
|
1097
912
|
if (context === void 0) {
|
|
1098
913
|
throw new Error("useMatch must be used within a MatchProvider");
|
|
1099
914
|
}
|
|
@@ -1112,7 +927,8 @@ function useUserInfo() {
|
|
|
1112
927
|
overview,
|
|
1113
928
|
address,
|
|
1114
929
|
endpoints,
|
|
1115
|
-
locale
|
|
930
|
+
locale,
|
|
931
|
+
refreshOverview
|
|
1116
932
|
} = useLocalStore_default();
|
|
1117
933
|
const { events, login } = useMatch();
|
|
1118
934
|
const { open: SOLOpen } = useSOLModalStore();
|
|
@@ -1121,7 +937,7 @@ function useUserInfo() {
|
|
|
1121
937
|
const { open: BTCOpen } = useBTCModalStore();
|
|
1122
938
|
const { open: CEXBindOpen } = useCEXBindModalStore();
|
|
1123
939
|
const walletModalStore = useWalletModalStore();
|
|
1124
|
-
const isLogin = (0,
|
|
940
|
+
const isLogin = (0, import_react28.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
1125
941
|
const logout = async () => {
|
|
1126
942
|
try {
|
|
1127
943
|
await toLogoutApi();
|
|
@@ -1221,12 +1037,6 @@ function useUserInfo() {
|
|
|
1221
1037
|
}
|
|
1222
1038
|
return false;
|
|
1223
1039
|
};
|
|
1224
|
-
const refreshOverview = async () => {
|
|
1225
|
-
const res = await getOverviewInfoApi();
|
|
1226
|
-
if (res.data) {
|
|
1227
|
-
setOverview(res.data);
|
|
1228
|
-
}
|
|
1229
|
-
};
|
|
1230
1040
|
const bindWallet = async () => {
|
|
1231
1041
|
if (!token) {
|
|
1232
1042
|
throw new Error("You must login first");
|
|
@@ -1359,9 +1169,9 @@ function useUserInfo() {
|
|
|
1359
1169
|
}
|
|
1360
1170
|
|
|
1361
1171
|
// src/hooks/useMatchEvents.ts
|
|
1362
|
-
var
|
|
1172
|
+
var import_react29 = require("react");
|
|
1363
1173
|
function useMatchEvents(handlers) {
|
|
1364
|
-
(0,
|
|
1174
|
+
(0, import_react29.useEffect)(() => {
|
|
1365
1175
|
Object.entries(handlers).forEach(([event, handler2]) => {
|
|
1366
1176
|
if (handler2) {
|
|
1367
1177
|
eventManager_default.on(event, handler2);
|
|
@@ -1377,6 +1187,217 @@ function useMatchEvents(handlers) {
|
|
|
1377
1187
|
}, [handlers]);
|
|
1378
1188
|
}
|
|
1379
1189
|
|
|
1190
|
+
// src/hooks/useWallet.tsx
|
|
1191
|
+
var import_viem2 = require("viem");
|
|
1192
|
+
var import_accounts = require("viem/accounts");
|
|
1193
|
+
var import_viem3 = require("viem");
|
|
1194
|
+
var import_react30 = require("react");
|
|
1195
|
+
var import_viem4 = require("viem");
|
|
1196
|
+
var AppClientId2 = "react-sdk-" + getVersion();
|
|
1197
|
+
function useWallet2() {
|
|
1198
|
+
const { address, wallet: walletConfig } = useLocalStore_default();
|
|
1199
|
+
const { walletReady } = useStore_default();
|
|
1200
|
+
const { open: openHashPanel } = useHashPanelStore();
|
|
1201
|
+
const isRecovered = async () => {
|
|
1202
|
+
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
1203
|
+
method: "isRecovered"
|
|
1204
|
+
});
|
|
1205
|
+
return res.isRecovered;
|
|
1206
|
+
};
|
|
1207
|
+
const signMessage2 = async ({
|
|
1208
|
+
message,
|
|
1209
|
+
chainType = "ethereum" /* Ethereum */
|
|
1210
|
+
}) => {
|
|
1211
|
+
try {
|
|
1212
|
+
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
1213
|
+
method: "signMessage",
|
|
1214
|
+
data: {
|
|
1215
|
+
message,
|
|
1216
|
+
chainType
|
|
1217
|
+
}
|
|
1218
|
+
});
|
|
1219
|
+
return res.message;
|
|
1220
|
+
} catch (error) {
|
|
1221
|
+
console.error("sdk.wallet.message", error);
|
|
1222
|
+
throw error;
|
|
1223
|
+
}
|
|
1224
|
+
};
|
|
1225
|
+
const signTransaction = async ({
|
|
1226
|
+
transaction,
|
|
1227
|
+
chainType = "ethereum" /* Ethereum */,
|
|
1228
|
+
chain
|
|
1229
|
+
}) => {
|
|
1230
|
+
try {
|
|
1231
|
+
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
1232
|
+
method: "signTransaction",
|
|
1233
|
+
data: {
|
|
1234
|
+
transaction,
|
|
1235
|
+
chainType,
|
|
1236
|
+
chain
|
|
1237
|
+
}
|
|
1238
|
+
});
|
|
1239
|
+
return res.message;
|
|
1240
|
+
} catch (error) {
|
|
1241
|
+
console.error("sdk.wallet.transaction", error);
|
|
1242
|
+
throw error;
|
|
1243
|
+
}
|
|
1244
|
+
};
|
|
1245
|
+
const evmAccount = (0, import_react30.useMemo)(() => {
|
|
1246
|
+
return address ? (0, import_accounts.toAccount)({
|
|
1247
|
+
address,
|
|
1248
|
+
async signMessage({ message }) {
|
|
1249
|
+
return await signMessage2({
|
|
1250
|
+
message,
|
|
1251
|
+
chainType: "ethereum" /* Ethereum */
|
|
1252
|
+
});
|
|
1253
|
+
},
|
|
1254
|
+
async signTransaction(transaction, options) {
|
|
1255
|
+
const { account, chain, ...restTransaction } = transaction;
|
|
1256
|
+
console.log("qwe-sign-transaction", restTransaction, options);
|
|
1257
|
+
return await signTransaction({
|
|
1258
|
+
transaction: {
|
|
1259
|
+
...restTransaction
|
|
1260
|
+
},
|
|
1261
|
+
chainType: "ethereum" /* Ethereum */,
|
|
1262
|
+
chain: {
|
|
1263
|
+
id: chain?.id || restTransaction.chainId,
|
|
1264
|
+
name: chain?.name,
|
|
1265
|
+
nativeCurrency: {
|
|
1266
|
+
name: chain?.nativeCurrency?.name || "ETH",
|
|
1267
|
+
symbol: chain?.nativeCurrency?.symbol || "ETH",
|
|
1268
|
+
decimals: chain?.nativeCurrency?.decimals || 18
|
|
1269
|
+
},
|
|
1270
|
+
rpcUrls: chain?.rpcUrls
|
|
1271
|
+
}
|
|
1272
|
+
});
|
|
1273
|
+
},
|
|
1274
|
+
async signTypedData(typedData) {
|
|
1275
|
+
return "0x";
|
|
1276
|
+
}
|
|
1277
|
+
}) : void 0;
|
|
1278
|
+
}, [address]);
|
|
1279
|
+
(0, import_react30.useEffect)(() => {
|
|
1280
|
+
matchlog_default.log("qwe-evmAccount", evmAccount);
|
|
1281
|
+
}, [evmAccount]);
|
|
1282
|
+
const realCreateWalletClient = (parameters) => {
|
|
1283
|
+
if (!evmAccount) {
|
|
1284
|
+
return;
|
|
1285
|
+
}
|
|
1286
|
+
const obj = (0, import_viem3.createWalletClient)({
|
|
1287
|
+
...parameters,
|
|
1288
|
+
account: evmAccount
|
|
1289
|
+
});
|
|
1290
|
+
const sendTransaction = async (transaction) => {
|
|
1291
|
+
const { chain, ...restTransaction } = transaction;
|
|
1292
|
+
const chainId = chain ? chain.id : await obj.getChainId();
|
|
1293
|
+
const _chain = chain || obj.chain;
|
|
1294
|
+
const transactionId = Date.now().toString() + Math.random().toString().slice(6);
|
|
1295
|
+
window.matchProvider.transactionMessageIntervalMap[transactionId] = {
|
|
1296
|
+
transaction,
|
|
1297
|
+
func: async () => {
|
|
1298
|
+
try {
|
|
1299
|
+
const {
|
|
1300
|
+
chain: chain2,
|
|
1301
|
+
account,
|
|
1302
|
+
...prepareTransactionRequest
|
|
1303
|
+
// @ts-ignore
|
|
1304
|
+
} = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
|
|
1305
|
+
window.matchProvider.sendWalletMessage({
|
|
1306
|
+
method: "prepareTransactionRequest",
|
|
1307
|
+
data: {
|
|
1308
|
+
prepareTransactionRequest,
|
|
1309
|
+
transactionId
|
|
1310
|
+
}
|
|
1311
|
+
});
|
|
1312
|
+
} catch (error) {
|
|
1313
|
+
console.error(error);
|
|
1314
|
+
}
|
|
1315
|
+
},
|
|
1316
|
+
interval: setInterval(() => {
|
|
1317
|
+
window.matchProvider.transactionMessageIntervalMap[transactionId].func();
|
|
1318
|
+
}, 1e4)
|
|
1319
|
+
};
|
|
1320
|
+
try {
|
|
1321
|
+
const {
|
|
1322
|
+
chain: chain2,
|
|
1323
|
+
account,
|
|
1324
|
+
...prepareTransactionRequest
|
|
1325
|
+
// @ts-ignore
|
|
1326
|
+
} = await obj.prepareTransactionRequest(transaction);
|
|
1327
|
+
const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
|
|
1328
|
+
method: "sendTransaction",
|
|
1329
|
+
data: {
|
|
1330
|
+
transactionId,
|
|
1331
|
+
transaction: {
|
|
1332
|
+
...restTransaction
|
|
1333
|
+
},
|
|
1334
|
+
chainType: "ethereum" /* Ethereum */,
|
|
1335
|
+
chain: {
|
|
1336
|
+
id: chainId,
|
|
1337
|
+
name: _chain?.name,
|
|
1338
|
+
nativeCurrency: _chain?.nativeCurrency,
|
|
1339
|
+
rpcUrls: _chain?.rpcUrls
|
|
1340
|
+
},
|
|
1341
|
+
prepareTransactionRequest
|
|
1342
|
+
}
|
|
1343
|
+
});
|
|
1344
|
+
openHashPanel();
|
|
1345
|
+
const txHash = await obj.sendRawTransaction({
|
|
1346
|
+
serializedTransaction
|
|
1347
|
+
});
|
|
1348
|
+
openHashPanel({
|
|
1349
|
+
hash: txHash,
|
|
1350
|
+
chain: _chain
|
|
1351
|
+
});
|
|
1352
|
+
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
1353
|
+
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
1354
|
+
return txHash;
|
|
1355
|
+
} catch (error) {
|
|
1356
|
+
console.error("qwe-sign-error", error);
|
|
1357
|
+
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
1358
|
+
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
1359
|
+
throw error;
|
|
1360
|
+
}
|
|
1361
|
+
};
|
|
1362
|
+
const deployContract = async (parameters2) => {
|
|
1363
|
+
const { abi, args, bytecode, ...request3 } = parameters2;
|
|
1364
|
+
const calldata = (0, import_viem4.encodeDeployData)({ abi, args, bytecode });
|
|
1365
|
+
return await sendTransaction({
|
|
1366
|
+
...request3,
|
|
1367
|
+
data: calldata
|
|
1368
|
+
});
|
|
1369
|
+
};
|
|
1370
|
+
const writeContract = async (parameters2) => {
|
|
1371
|
+
const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
|
|
1372
|
+
const data = (0, import_viem2.encodeFunctionData)({
|
|
1373
|
+
abi,
|
|
1374
|
+
args,
|
|
1375
|
+
functionName
|
|
1376
|
+
});
|
|
1377
|
+
return await sendTransaction({
|
|
1378
|
+
data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
|
|
1379
|
+
to: address2,
|
|
1380
|
+
...request3
|
|
1381
|
+
});
|
|
1382
|
+
};
|
|
1383
|
+
return {
|
|
1384
|
+
...obj,
|
|
1385
|
+
sendTransaction,
|
|
1386
|
+
deployContract,
|
|
1387
|
+
writeContract
|
|
1388
|
+
};
|
|
1389
|
+
};
|
|
1390
|
+
return {
|
|
1391
|
+
walletReady,
|
|
1392
|
+
evmAccount,
|
|
1393
|
+
address,
|
|
1394
|
+
signMessage: signMessage2,
|
|
1395
|
+
signTransaction,
|
|
1396
|
+
isRecovered,
|
|
1397
|
+
createWalletClient: realCreateWalletClient
|
|
1398
|
+
};
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1380
1401
|
// src/hooks/useCopyClipboard.ts
|
|
1381
1402
|
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
1382
1403
|
var import_react31 = require("react");
|
|
@@ -1399,11 +1420,154 @@ function useCopyClipboard(timeout = 500) {
|
|
|
1399
1420
|
}, [isCopied, setIsCopied, timeout]);
|
|
1400
1421
|
return [isCopied, staticCopy];
|
|
1401
1422
|
}
|
|
1423
|
+
|
|
1424
|
+
// src/hooks/api/wallet.ts
|
|
1425
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
1426
|
+
function useChainListQuery(options) {
|
|
1427
|
+
const { isLogin, token } = useUserInfo();
|
|
1428
|
+
return (0, import_react_query4.useQuery)({
|
|
1429
|
+
queryKey: ["match-chain-list", token],
|
|
1430
|
+
queryFn: async () => {
|
|
1431
|
+
const res = await getUserChainListApi();
|
|
1432
|
+
if (!isSuccess(res)) {
|
|
1433
|
+
return [];
|
|
1434
|
+
}
|
|
1435
|
+
return res.data;
|
|
1436
|
+
},
|
|
1437
|
+
enabled: isLogin,
|
|
1438
|
+
...options
|
|
1439
|
+
});
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
// src/hooks/useMatchChain.tsx
|
|
1443
|
+
var import_react32 = require("react");
|
|
1444
|
+
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
1445
|
+
function useMatchChain() {
|
|
1446
|
+
const chainListQuery = useChainListQuery();
|
|
1447
|
+
const modal = useModal();
|
|
1448
|
+
const { chainId: storeChainId, setChainId } = useLocalStore_default();
|
|
1449
|
+
const chainId = (0, import_react32.useMemo)(() => {
|
|
1450
|
+
if (!chainListQuery.data || !chainListQuery.data.length) {
|
|
1451
|
+
return null;
|
|
1452
|
+
}
|
|
1453
|
+
if (chainListQuery.data.find((item) => item.id === storeChainId)) {
|
|
1454
|
+
return storeChainId;
|
|
1455
|
+
}
|
|
1456
|
+
return chainListQuery.data[0].id;
|
|
1457
|
+
}, [storeChainId, chainListQuery.data]);
|
|
1458
|
+
const chain = (0, import_react32.useMemo)(() => {
|
|
1459
|
+
if (!chainListQuery.data || !chainListQuery.data.length) {
|
|
1460
|
+
return null;
|
|
1461
|
+
}
|
|
1462
|
+
return chainListQuery.data.find((item) => item.id === chainId);
|
|
1463
|
+
}, [chainId, chainListQuery.data]);
|
|
1464
|
+
const explorerLink = (url) => {
|
|
1465
|
+
const explorer = chain?.blockExplorers.default.url;
|
|
1466
|
+
return explorer.lastIndexOf("/") === explorer.length - 1 ? explorer + url : explorer + "/" + url;
|
|
1467
|
+
};
|
|
1468
|
+
function ChangeNetwork({
|
|
1469
|
+
close
|
|
1470
|
+
}) {
|
|
1471
|
+
const { chainId: storeChainId2, setChainId: setChainId2 } = useLocalStore_default();
|
|
1472
|
+
const [selectedChainId, setSelectedChainId] = (0, import_react32.useState)(storeChainId2);
|
|
1473
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-change-network-box`, children: [
|
|
1474
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: `matchid-change-network-list`, children: chainListQuery.data?.map((item, index) => {
|
|
1475
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
|
|
1476
|
+
"div",
|
|
1477
|
+
{
|
|
1478
|
+
onClick: () => setSelectedChainId(item.id),
|
|
1479
|
+
className: `matchid-change-network-item ${selectedChainId == item.id ? "matchid-change-network-selected" : ""}`,
|
|
1480
|
+
children: [
|
|
1481
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `matchid-change-network-item-content`, children: [
|
|
1482
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("img", { src: item.iconUrl, className: `matchid-change-network-item-icon` }),
|
|
1483
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "matchid-change-network-item-name", children: item.name })
|
|
1484
|
+
] }),
|
|
1485
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Radio, { checked: selectedChainId === item.id })
|
|
1486
|
+
]
|
|
1487
|
+
},
|
|
1488
|
+
index
|
|
1489
|
+
);
|
|
1490
|
+
}) }),
|
|
1491
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Button, { size: "lg", highlight: true, onClick: () => {
|
|
1492
|
+
setChainId2(selectedChainId || 0);
|
|
1493
|
+
close();
|
|
1494
|
+
}, block: true, children: "Confirm" })
|
|
1495
|
+
] });
|
|
1496
|
+
}
|
|
1497
|
+
const showChangeNetwork = () => {
|
|
1498
|
+
modal.open({
|
|
1499
|
+
title: "Change Network",
|
|
1500
|
+
content: ChangeNetwork
|
|
1501
|
+
});
|
|
1502
|
+
};
|
|
1503
|
+
return {
|
|
1504
|
+
list: chainListQuery.data,
|
|
1505
|
+
chainId,
|
|
1506
|
+
setChainId,
|
|
1507
|
+
chain,
|
|
1508
|
+
explorerLink,
|
|
1509
|
+
showChangeNetwork
|
|
1510
|
+
};
|
|
1511
|
+
}
|
|
1512
|
+
|
|
1513
|
+
// src/hooks/useMatchWallet.tsx
|
|
1514
|
+
var import_react_qrcode = require("react-qrcode");
|
|
1515
|
+
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
1516
|
+
function useMatchWallet() {
|
|
1517
|
+
const modal = useModal();
|
|
1518
|
+
const { address } = useWallet2();
|
|
1519
|
+
const chain = useMatchChain();
|
|
1520
|
+
const [copied, setCopied] = useCopyClipboard();
|
|
1521
|
+
const toast = useToast();
|
|
1522
|
+
const onCopy = () => {
|
|
1523
|
+
setCopied(address);
|
|
1524
|
+
toast.success("Copied!");
|
|
1525
|
+
};
|
|
1526
|
+
const showReceiveModal = () => {
|
|
1527
|
+
const chainLink = chain.explorerLink("address/" + address);
|
|
1528
|
+
const ReceiveModal = () => {
|
|
1529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: `matchid-receive-modal`, children: [
|
|
1530
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "matchid-receive-container", children: [
|
|
1531
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: `matchid-receive-text`, children: "Receive by scanning the QR code" }),
|
|
1532
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: `matchid-qr-container`, children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
1533
|
+
import_react_qrcode.QRCode,
|
|
1534
|
+
{
|
|
1535
|
+
margin: "0",
|
|
1536
|
+
className: `matchid-qr-code`,
|
|
1537
|
+
value: address
|
|
1538
|
+
}
|
|
1539
|
+
) }),
|
|
1540
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
1541
|
+
"a",
|
|
1542
|
+
{
|
|
1543
|
+
href: chainLink,
|
|
1544
|
+
target: "_blank",
|
|
1545
|
+
className: `matchid-receive-link`,
|
|
1546
|
+
children: address
|
|
1547
|
+
}
|
|
1548
|
+
)
|
|
1549
|
+
] }),
|
|
1550
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(Button, { size: "lg", onClick: onCopy, block: true, highlight: true, disabled: copied, children: "Copy Address" })
|
|
1551
|
+
] });
|
|
1552
|
+
};
|
|
1553
|
+
modal.open({
|
|
1554
|
+
title: "Receive",
|
|
1555
|
+
content: ReceiveModal
|
|
1556
|
+
});
|
|
1557
|
+
};
|
|
1558
|
+
return {
|
|
1559
|
+
showReceiveModal
|
|
1560
|
+
};
|
|
1561
|
+
}
|
|
1402
1562
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1403
1563
|
0 && (module.exports = {
|
|
1404
1564
|
useCopyClipboard,
|
|
1405
1565
|
useLayout,
|
|
1566
|
+
useMatchChain,
|
|
1406
1567
|
useMatchEvents,
|
|
1568
|
+
useMatchWallet,
|
|
1569
|
+
useModal,
|
|
1570
|
+
useToast,
|
|
1407
1571
|
useUserInfo,
|
|
1408
1572
|
useWallet
|
|
1409
1573
|
});
|