@matchain/matchid-sdk-react 0.1.46-alpha.0 → 0.1.46-alpha.2
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 +1 -1
- package/dist/assets/icon/index.d.ts +1 -1
- package/dist/assets/icon/index.mjs +1 -1
- package/dist/{chunk-VY6Y6PLW.mjs → chunk-3XIGN55C.mjs} +2 -2
- package/dist/chunk-HBOS3RBL.mjs +19 -0
- package/dist/chunk-HBOS3RBL.mjs.map +1 -0
- package/dist/{chunk-DPXMCLYK.mjs → chunk-I62Y5HZS.mjs} +2 -2
- package/dist/{chunk-SQIJR7RA.mjs → chunk-UA6XHZHX.mjs} +2 -14
- package/dist/chunk-UA6XHZHX.mjs.map +1 -0
- package/dist/{chunk-EQ752DLJ.mjs → chunk-V35GNYR2.mjs} +647 -973
- package/dist/chunk-V35GNYR2.mjs.map +1 -0
- package/dist/{chunk-H6M6OSVR.mjs → chunk-VBGOGJ6U.mjs} +48 -48
- package/dist/{chunk-H6M6OSVR.mjs.map → chunk-VBGOGJ6U.mjs.map} +1 -1
- package/dist/{chunk-CNQJUDKT.mjs → chunk-W4ZOHVKA.mjs} +32 -3
- package/dist/chunk-W4ZOHVKA.mjs.map +1 -0
- package/dist/components/index.d.mts +3 -4
- package/dist/components/index.d.ts +3 -4
- package/dist/components/index.js +331 -759
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +4 -6
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +215 -231
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +5 -5
- package/dist/hooks/index.d.mts +2 -2
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +392 -495
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +4 -4
- package/dist/{index-BXCdzLbc.d.mts → index-B6OKNMN_.d.mts} +1 -1
- package/dist/{index-C_XI1qNB.d.mts → index-Bb5HNcIM.d.mts} +1 -1
- package/dist/{index-DhSoJs_L.d.ts → index-C-l6DIgO.d.mts} +2 -24
- package/dist/{index-DSLYDlMJ.d.ts → index-C76VhJX1.d.ts} +10 -4
- package/dist/{index-RT9tEHMs.d.mts → index-C7ZTBB4_.d.ts} +2 -24
- package/dist/{index-CsHEukeG.d.ts → index-C9lQIgOD.d.ts} +1 -1
- package/dist/{index-DWOnfdeP.d.ts → index-CD6roBbT.d.ts} +4 -12
- package/dist/{index-nqmU7njp.d.mts → index-Ch94kI1m.d.mts} +4 -12
- package/dist/{index-D9-2IgL1.d.ts → index-DHyRhe_l.d.ts} +1 -1
- package/dist/{index-bpGeBrps.d.mts → index-DYy-xBrS.d.mts} +10 -4
- package/dist/{index-BMWq_SVq.d.ts → index-_oiFIWte.d.ts} +1 -1
- package/dist/{index-a9wDsxOI.d.mts → index-oBhm0-55.d.mts} +1 -1
- package/dist/index.css +14 -1
- package/dist/index.d.mts +8 -8
- package/dist/index.d.ts +8 -8
- package/dist/index.js +2095 -2406
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -8
- 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-Cpmx3fld.d.mts → types-Q3WHZX4Z.d.mts} +1 -0
- package/dist/{types-Cpmx3fld.d.ts → types-Q3WHZX4Z.d.ts} +1 -0
- package/dist/ui/index.d.mts +3 -3
- package/dist/ui/index.d.ts +3 -3
- package/dist/ui/index.js +29 -0
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +5 -3
- package/example/src/pages/UI/components/AlphaAvatar.tsx +11 -0
- package/example/src/pages/UI/index.tsx +2 -0
- package/example/src/pages/User/index.tsx +0 -13
- package/package.json +1 -1
- package/dist/chunk-CNQJUDKT.mjs.map +0 -1
- package/dist/chunk-EQ752DLJ.mjs.map +0 -1
- package/dist/chunk-SQIJR7RA.mjs.map +0 -1
- /package/dist/{chunk-VY6Y6PLW.mjs.map → chunk-3XIGN55C.mjs.map} +0 -0
- /package/dist/{chunk-DPXMCLYK.mjs.map → chunk-I62Y5HZS.mjs.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -42,7 +42,6 @@ __export(components_exports, {
|
|
|
42
42
|
Modal: () => Modal,
|
|
43
43
|
ModalWithHeader: () => ModalWithHeader,
|
|
44
44
|
Overlay: () => Overlay,
|
|
45
|
-
PasswordModal: () => PasswordModal,
|
|
46
45
|
Popover: () => Popover,
|
|
47
46
|
SOLModal: () => SOLModal,
|
|
48
47
|
TONModal: () => TONModal,
|
|
@@ -53,7 +52,7 @@ __export(components_exports, {
|
|
|
53
52
|
module.exports = __toCommonJS(components_exports);
|
|
54
53
|
|
|
55
54
|
// src/components/EmailModal/index.tsx
|
|
56
|
-
var
|
|
55
|
+
var import_react15 = require("react");
|
|
57
56
|
|
|
58
57
|
// src/assets/icon/ArrowLeftIcon.tsx
|
|
59
58
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -355,21 +354,6 @@ function CheckRoundIcon({
|
|
|
355
354
|
|
|
356
355
|
// src/assets/icon/PasswordRoundIcon.tsx
|
|
357
356
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
358
|
-
function PasswordRoundIcon() {
|
|
359
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("svg", { width: "40", height: "40", viewBox: "0 0 40 40", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
360
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("rect", { x: "0.5", y: "0.5", width: "39", height: "39", rx: "7.5", fill: "white" }),
|
|
361
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("rect", { x: "0.5", y: "0.5", width: "39", height: "39", rx: "7.5", stroke: "black" }),
|
|
362
|
-
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
363
|
-
"path",
|
|
364
|
-
{
|
|
365
|
-
fillRule: "evenodd",
|
|
366
|
-
clipRule: "evenodd",
|
|
367
|
-
d: "M19.7673 16.1137C19.962 13.9479 21.7831 12.25 24 12.25C26.3472 12.25 28.25 14.1528 28.25 16.5C28.25 18.8472 26.3472 20.75 24 20.75C23.488 20.75 22.9987 20.6598 22.5461 20.495C21.9175 20.2662 21.1115 20.3279 20.5486 20.8908L19.2626 22.1768C19.2157 22.2237 19.1521 22.25 19.0858 22.25H18C17.3096 22.25 16.75 22.8096 16.75 23.5V24.25H15.5C14.8096 24.25 14.25 24.8096 14.25 25.5V26.5C14.25 26.6381 14.1381 26.75 14 26.75H12C11.8619 26.75 11.75 26.6381 11.75 26.5V23.9538C11.75 23.8817 11.7811 23.8131 11.8354 23.7656L19.1524 17.3632C19.5404 17.0238 19.7275 16.556 19.7673 16.1137ZM24 10.75C20.9997 10.75 18.5369 13.0473 18.2733 15.9794C18.2614 16.1115 18.2107 16.1941 18.1646 16.2344L10.8476 22.6368C10.4678 22.9691 10.25 23.4491 10.25 23.9538V26.5C10.25 27.4665 11.0335 28.25 12 28.25H14C14.9665 28.25 15.75 27.4665 15.75 26.5V25.75H17C17.6904 25.75 18.25 25.1904 18.25 24.5V23.75H19.0858C19.5499 23.75 19.995 23.5656 20.3232 23.2374L21.6092 21.9514C21.6738 21.8868 21.8277 21.8298 22.033 21.9045C22.6476 22.1283 23.3104 22.25 24 22.25C27.1756 22.25 29.75 19.6756 29.75 16.5C29.75 13.3244 27.1756 10.75 24 10.75ZM25 16.5C25.5523 16.5 26 16.0523 26 15.5C26 14.9477 25.5523 14.5 25 14.5C24.4477 14.5 24 14.9477 24 15.5C24 16.0523 24.4477 16.5 25 16.5Z",
|
|
368
|
-
fill: "black"
|
|
369
|
-
}
|
|
370
|
-
)
|
|
371
|
-
] });
|
|
372
|
-
}
|
|
373
357
|
|
|
374
358
|
// src/assets/icon/CloseEyeIcon.tsx
|
|
375
359
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
@@ -1353,48 +1337,6 @@ function StepEmail(props) {
|
|
|
1353
1337
|
// src/store/useLocalStore.ts
|
|
1354
1338
|
var import_zustand = require("zustand");
|
|
1355
1339
|
var import_middleware = require("zustand/middleware");
|
|
1356
|
-
var persistedState = (0, import_middleware.persist)(
|
|
1357
|
-
(set) => ({
|
|
1358
|
-
appid: "",
|
|
1359
|
-
token: "",
|
|
1360
|
-
did: "",
|
|
1361
|
-
mid: "",
|
|
1362
|
-
overview: null,
|
|
1363
|
-
theme: "light",
|
|
1364
|
-
setOverview: (overview) => set({
|
|
1365
|
-
overview,
|
|
1366
|
-
address: overview.address,
|
|
1367
|
-
did: overview.did,
|
|
1368
|
-
mid: overview.mid
|
|
1369
|
-
}),
|
|
1370
|
-
endpoints: {
|
|
1371
|
-
back: "https://api.matchid.ai/",
|
|
1372
|
-
auth: "https://auth.matchid.ai/"
|
|
1373
|
-
},
|
|
1374
|
-
setDid: (did) => set({ did }),
|
|
1375
|
-
setToken: (token) => set({ token }),
|
|
1376
|
-
setAppid: (appid) => set({ appid }),
|
|
1377
|
-
setMid: (mid) => set({ mid }),
|
|
1378
|
-
logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
|
|
1379
|
-
setTheme: (theme) => set({ theme }),
|
|
1380
|
-
setEndpoints: (endpoints) => set({ endpoints }),
|
|
1381
|
-
address: "",
|
|
1382
|
-
setAddress: (address) => set({ address }),
|
|
1383
|
-
locale: "en",
|
|
1384
|
-
setLocale: (locale) => set({ locale }),
|
|
1385
|
-
wallet: {
|
|
1386
|
-
type: "UserPasscode"
|
|
1387
|
-
},
|
|
1388
|
-
setWallet: (wallet) => set({ wallet })
|
|
1389
|
-
}),
|
|
1390
|
-
{ name: "match-local" }
|
|
1391
|
-
);
|
|
1392
|
-
var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
|
|
1393
|
-
var localStore = useLocalStore;
|
|
1394
|
-
var useLocalStore_default = useLocalStore;
|
|
1395
|
-
|
|
1396
|
-
// src/hooks/useUserInfo.tsx
|
|
1397
|
-
var import_react16 = require("react");
|
|
1398
1340
|
|
|
1399
1341
|
// src/api/request.ts
|
|
1400
1342
|
var import_axios = __toESM(require("axios"));
|
|
@@ -1654,14 +1596,61 @@ var getAppConfigApi = () => {
|
|
|
1654
1596
|
});
|
|
1655
1597
|
};
|
|
1656
1598
|
|
|
1657
|
-
// src/
|
|
1658
|
-
var
|
|
1599
|
+
// src/store/useLocalStore.ts
|
|
1600
|
+
var persistedState = (0, import_middleware.persist)(
|
|
1601
|
+
(set) => ({
|
|
1602
|
+
appid: "",
|
|
1603
|
+
token: "",
|
|
1604
|
+
did: "",
|
|
1605
|
+
mid: "",
|
|
1606
|
+
overview: null,
|
|
1607
|
+
theme: "light",
|
|
1608
|
+
setOverview: (overview) => set({
|
|
1609
|
+
overview,
|
|
1610
|
+
address: overview.address,
|
|
1611
|
+
did: overview.did,
|
|
1612
|
+
mid: overview.mid
|
|
1613
|
+
}),
|
|
1614
|
+
refreshOverview: async () => {
|
|
1615
|
+
const res = await getOverviewInfoApi();
|
|
1616
|
+
if (res.data) {
|
|
1617
|
+
set({ overview: res.data });
|
|
1618
|
+
set({ address: res.data.address });
|
|
1619
|
+
set({ did: res.data.did });
|
|
1620
|
+
set({ mid: res.data.mid });
|
|
1621
|
+
}
|
|
1622
|
+
},
|
|
1623
|
+
endpoints: {
|
|
1624
|
+
back: "https://api.matchid.ai/",
|
|
1625
|
+
auth: "https://auth.matchid.ai/"
|
|
1626
|
+
},
|
|
1627
|
+
setDid: (did) => set({ did }),
|
|
1628
|
+
setToken: (token) => set({ token }),
|
|
1629
|
+
setAppid: (appid) => set({ appid }),
|
|
1630
|
+
setMid: (mid) => set({ mid }),
|
|
1631
|
+
logout: () => set({ token: "", did: "", mid: "", address: "", overview: null }),
|
|
1632
|
+
setTheme: (theme) => set({ theme }),
|
|
1633
|
+
setEndpoints: (endpoints) => set({ endpoints }),
|
|
1634
|
+
address: "",
|
|
1635
|
+
setAddress: (address) => set({ address }),
|
|
1636
|
+
locale: "en",
|
|
1637
|
+
setLocale: (locale) => set({ locale }),
|
|
1638
|
+
wallet: {
|
|
1639
|
+
type: "UserPasscode"
|
|
1640
|
+
},
|
|
1641
|
+
setWallet: (wallet) => set({ wallet })
|
|
1642
|
+
}),
|
|
1643
|
+
{ name: "match-local" }
|
|
1644
|
+
);
|
|
1645
|
+
var useLocalStore = (0, import_zustand.create)((0, import_middleware.devtools)(persistedState));
|
|
1646
|
+
var localStore = useLocalStore;
|
|
1647
|
+
var useLocalStore_default = useLocalStore;
|
|
1659
1648
|
|
|
1660
|
-
// src/
|
|
1661
|
-
var
|
|
1649
|
+
// src/hooks/useUserInfo.tsx
|
|
1650
|
+
var import_react13 = require("react");
|
|
1662
1651
|
|
|
1663
|
-
// src/
|
|
1664
|
-
var
|
|
1652
|
+
// src/MatchContext.tsx
|
|
1653
|
+
var import_react12 = require("react");
|
|
1665
1654
|
|
|
1666
1655
|
// src/hooks/useMatchEvents.ts
|
|
1667
1656
|
var import_react5 = require("react");
|
|
@@ -1701,18 +1690,8 @@ var import_viem = require("viem");
|
|
|
1701
1690
|
var import_zustand2 = require("zustand");
|
|
1702
1691
|
var useStore = (0, import_zustand2.create)((set) => ({
|
|
1703
1692
|
walletReady: false,
|
|
1704
|
-
setWalletReady: (inited) => set({ walletReady: inited })
|
|
1705
|
-
recoveryModal: {
|
|
1706
|
-
open: false,
|
|
1707
|
-
success: async () => {
|
|
1708
|
-
},
|
|
1709
|
-
close: async () => {
|
|
1710
|
-
}
|
|
1711
|
-
},
|
|
1712
|
-
setRecoveryModal: (params) => set({ recoveryModal: params }),
|
|
1713
|
-
closeRecoveryModal: () => set({ recoveryModal: { open: false } })
|
|
1693
|
+
setWalletReady: (inited) => set({ walletReady: inited })
|
|
1714
1694
|
}));
|
|
1715
|
-
var useStore_default = useStore;
|
|
1716
1695
|
|
|
1717
1696
|
// src/hooks/useWallet.tsx
|
|
1718
1697
|
var import_accounts = require("viem/accounts");
|
|
@@ -1818,291 +1797,6 @@ var useWalletModalStore = (0, import_zustand3.create)((set) => ({
|
|
|
1818
1797
|
|
|
1819
1798
|
// src/hooks/useWallet.tsx
|
|
1820
1799
|
var AppClientId = "react-sdk-" + getVersion();
|
|
1821
|
-
function useWallet() {
|
|
1822
|
-
const { appid, token, overview, address, wallet: walletConfig } = useLocalStore_default();
|
|
1823
|
-
const { setRecoveryModal, closeRecoveryModal, walletReady } = useStore_default();
|
|
1824
|
-
const { open: openHashPanel } = useHashPanelStore();
|
|
1825
|
-
const initCore = ({
|
|
1826
|
-
did,
|
|
1827
|
-
address: address2
|
|
1828
|
-
}) => {
|
|
1829
|
-
return window.matchProvider.waitUntilWalletMessage(
|
|
1830
|
-
{
|
|
1831
|
-
method: "initCore",
|
|
1832
|
-
data: {
|
|
1833
|
-
AppId: appid,
|
|
1834
|
-
AppClientId,
|
|
1835
|
-
UserId: did,
|
|
1836
|
-
AccessToken: token,
|
|
1837
|
-
Address: address2
|
|
1838
|
-
}
|
|
1839
|
-
}
|
|
1840
|
-
);
|
|
1841
|
-
};
|
|
1842
|
-
const generateEmbeddedWallets = async (data) => {
|
|
1843
|
-
return await window.matchProvider.waitUntilWalletMessage({
|
|
1844
|
-
method: "generateEmbeddedWallets",
|
|
1845
|
-
data
|
|
1846
|
-
});
|
|
1847
|
-
};
|
|
1848
|
-
const recoveryEmbeddedWallets = async (data) => {
|
|
1849
|
-
return await window.matchProvider.waitUntilWalletMessage({
|
|
1850
|
-
method: "recoveryEmbeddedWallets",
|
|
1851
|
-
data
|
|
1852
|
-
});
|
|
1853
|
-
};
|
|
1854
|
-
const isRecovered = async () => {
|
|
1855
|
-
const res = await window.matchProvider.waitUntilWalletMessage({
|
|
1856
|
-
method: "isRecovered"
|
|
1857
|
-
});
|
|
1858
|
-
return res.isRecovered;
|
|
1859
|
-
};
|
|
1860
|
-
const recoverAfter = async ({
|
|
1861
|
-
chainType,
|
|
1862
|
-
handle
|
|
1863
|
-
}) => {
|
|
1864
|
-
return new Promise(async (resolve, reject) => {
|
|
1865
|
-
const res = await isRecovered();
|
|
1866
|
-
matchlog_default.log("sdk.mpc.isRecovered", res);
|
|
1867
|
-
if (res) {
|
|
1868
|
-
await recoveryEmbeddedWallets({ chainType, recoveryType: "user_passcode_recovery_key" });
|
|
1869
|
-
await handle(resolve, reject);
|
|
1870
|
-
return;
|
|
1871
|
-
}
|
|
1872
|
-
setRecoveryModal({
|
|
1873
|
-
chainType,
|
|
1874
|
-
open: true,
|
|
1875
|
-
success: async () => {
|
|
1876
|
-
closeRecoveryModal();
|
|
1877
|
-
matchlog_default.log("sdk.mpc.recover", "Success");
|
|
1878
|
-
await handle(resolve, reject);
|
|
1879
|
-
},
|
|
1880
|
-
close: async () => {
|
|
1881
|
-
closeRecoveryModal();
|
|
1882
|
-
reject(new Error("recover modal close"));
|
|
1883
|
-
}
|
|
1884
|
-
});
|
|
1885
|
-
await initCore({
|
|
1886
|
-
address: overview?.address || "",
|
|
1887
|
-
did: overview?.did || ""
|
|
1888
|
-
});
|
|
1889
|
-
});
|
|
1890
|
-
};
|
|
1891
|
-
const signMessage2 = async ({
|
|
1892
|
-
message,
|
|
1893
|
-
chainType = "ethereum" /* Ethereum */
|
|
1894
|
-
}) => {
|
|
1895
|
-
const getSign = async (resolve, reject) => {
|
|
1896
|
-
try {
|
|
1897
|
-
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
1898
|
-
method: "signMessage",
|
|
1899
|
-
data: {
|
|
1900
|
-
message,
|
|
1901
|
-
chainType
|
|
1902
|
-
}
|
|
1903
|
-
});
|
|
1904
|
-
resolve(recoverRes.message);
|
|
1905
|
-
} catch (error) {
|
|
1906
|
-
console.error("qwe-sign-error", error);
|
|
1907
|
-
reject(error);
|
|
1908
|
-
}
|
|
1909
|
-
};
|
|
1910
|
-
return await recoverAfter({
|
|
1911
|
-
handle: getSign,
|
|
1912
|
-
chainType
|
|
1913
|
-
});
|
|
1914
|
-
};
|
|
1915
|
-
const signTransaction = async ({
|
|
1916
|
-
transaction,
|
|
1917
|
-
chainType = "ethereum" /* Ethereum */,
|
|
1918
|
-
chain
|
|
1919
|
-
}) => {
|
|
1920
|
-
console.log("qwe-sign-transaction", transaction);
|
|
1921
|
-
const getSign = async (resolve, reject) => {
|
|
1922
|
-
try {
|
|
1923
|
-
const recoverRes = await window.matchProvider.waitUntilWalletMessage({
|
|
1924
|
-
method: "signTransaction",
|
|
1925
|
-
data: {
|
|
1926
|
-
transaction,
|
|
1927
|
-
chainType,
|
|
1928
|
-
chain
|
|
1929
|
-
}
|
|
1930
|
-
});
|
|
1931
|
-
resolve(recoverRes.message);
|
|
1932
|
-
} catch (error) {
|
|
1933
|
-
console.error("qwe-sign-error", error);
|
|
1934
|
-
reject(error);
|
|
1935
|
-
}
|
|
1936
|
-
};
|
|
1937
|
-
return await recoverAfter({
|
|
1938
|
-
handle: getSign,
|
|
1939
|
-
chainType
|
|
1940
|
-
});
|
|
1941
|
-
};
|
|
1942
|
-
const evmAccount = (0, import_react6.useMemo)(() => {
|
|
1943
|
-
return address ? (0, import_accounts.toAccount)({
|
|
1944
|
-
address,
|
|
1945
|
-
async signMessage({ message }) {
|
|
1946
|
-
return await signMessage2({
|
|
1947
|
-
message,
|
|
1948
|
-
chainType: "ethereum" /* Ethereum */
|
|
1949
|
-
});
|
|
1950
|
-
},
|
|
1951
|
-
async signTransaction(transaction, options) {
|
|
1952
|
-
const { account, chain, ...restTransaction } = transaction;
|
|
1953
|
-
console.log("qwe-sign-transaction", restTransaction, options);
|
|
1954
|
-
return await signTransaction({
|
|
1955
|
-
transaction: {
|
|
1956
|
-
...restTransaction
|
|
1957
|
-
},
|
|
1958
|
-
chainType: "ethereum" /* Ethereum */,
|
|
1959
|
-
chain: {
|
|
1960
|
-
id: chain?.id || restTransaction.chainId,
|
|
1961
|
-
name: chain?.name,
|
|
1962
|
-
nativeCurrency: {
|
|
1963
|
-
name: chain?.nativeCurrency?.name || "ETH",
|
|
1964
|
-
symbol: chain?.nativeCurrency?.symbol || "ETH",
|
|
1965
|
-
decimals: chain?.nativeCurrency?.decimals || 18
|
|
1966
|
-
},
|
|
1967
|
-
rpcUrls: chain?.rpcUrls
|
|
1968
|
-
}
|
|
1969
|
-
});
|
|
1970
|
-
},
|
|
1971
|
-
async signTypedData(typedData) {
|
|
1972
|
-
return "0x";
|
|
1973
|
-
}
|
|
1974
|
-
}) : void 0;
|
|
1975
|
-
}, [address]);
|
|
1976
|
-
(0, import_react6.useEffect)(() => {
|
|
1977
|
-
matchlog_default.log("qwe-evmAccount", evmAccount);
|
|
1978
|
-
}, [evmAccount]);
|
|
1979
|
-
return {
|
|
1980
|
-
walletReady,
|
|
1981
|
-
evmAccount,
|
|
1982
|
-
address,
|
|
1983
|
-
initCore,
|
|
1984
|
-
signMessage: signMessage2,
|
|
1985
|
-
signTransaction,
|
|
1986
|
-
isRecovered,
|
|
1987
|
-
recoverAfter,
|
|
1988
|
-
generateEmbeddedWallets,
|
|
1989
|
-
recoveryEmbeddedWallets,
|
|
1990
|
-
createWalletClient: (parameters) => {
|
|
1991
|
-
if (!evmAccount) {
|
|
1992
|
-
return;
|
|
1993
|
-
}
|
|
1994
|
-
const obj = (0, import_viem2.createWalletClient)({
|
|
1995
|
-
...parameters,
|
|
1996
|
-
account: evmAccount
|
|
1997
|
-
});
|
|
1998
|
-
const sendTransaction = async (transaction) => {
|
|
1999
|
-
const getSign = async (resolve, reject) => {
|
|
2000
|
-
const { chain, ...restTransaction } = transaction;
|
|
2001
|
-
const chainId = chain ? chain.id : await obj.getChainId();
|
|
2002
|
-
const _chain = chain || obj.chain;
|
|
2003
|
-
const transactionId = Date.now().toString() + Math.random().toString().slice(6);
|
|
2004
|
-
window.matchProvider.transactionMessageIntervalMap[transactionId] = {
|
|
2005
|
-
transaction,
|
|
2006
|
-
func: async () => {
|
|
2007
|
-
try {
|
|
2008
|
-
const {
|
|
2009
|
-
chain: chain2,
|
|
2010
|
-
account,
|
|
2011
|
-
...prepareTransactionRequest
|
|
2012
|
-
// @ts-ignore
|
|
2013
|
-
} = await obj.prepareTransactionRequest(window.matchProvider.transactionMessageIntervalMap[transactionId].transaction);
|
|
2014
|
-
window.matchProvider.sendWalletMessage({
|
|
2015
|
-
method: "prepareTransactionRequest",
|
|
2016
|
-
data: {
|
|
2017
|
-
prepareTransactionRequest,
|
|
2018
|
-
transactionId
|
|
2019
|
-
}
|
|
2020
|
-
});
|
|
2021
|
-
} catch (error) {
|
|
2022
|
-
console.error(error);
|
|
2023
|
-
}
|
|
2024
|
-
},
|
|
2025
|
-
interval: setInterval(() => {
|
|
2026
|
-
window.matchProvider.transactionMessageIntervalMap[transactionId].func();
|
|
2027
|
-
}, 1e4)
|
|
2028
|
-
};
|
|
2029
|
-
try {
|
|
2030
|
-
const {
|
|
2031
|
-
chain: chain2,
|
|
2032
|
-
account,
|
|
2033
|
-
...prepareTransactionRequest
|
|
2034
|
-
// @ts-ignore
|
|
2035
|
-
} = await obj.prepareTransactionRequest(transaction);
|
|
2036
|
-
const { serializedTransaction } = await window.matchProvider.waitUntilWalletMessage({
|
|
2037
|
-
method: "sendTransaction",
|
|
2038
|
-
data: {
|
|
2039
|
-
transactionId,
|
|
2040
|
-
transaction: {
|
|
2041
|
-
...restTransaction
|
|
2042
|
-
},
|
|
2043
|
-
chainType: "ethereum" /* Ethereum */,
|
|
2044
|
-
chain: {
|
|
2045
|
-
id: chainId,
|
|
2046
|
-
name: _chain?.name,
|
|
2047
|
-
nativeCurrency: _chain?.nativeCurrency,
|
|
2048
|
-
rpcUrls: _chain?.rpcUrls
|
|
2049
|
-
},
|
|
2050
|
-
prepareTransactionRequest
|
|
2051
|
-
}
|
|
2052
|
-
});
|
|
2053
|
-
openHashPanel();
|
|
2054
|
-
const txHash = await obj.sendRawTransaction({
|
|
2055
|
-
serializedTransaction
|
|
2056
|
-
});
|
|
2057
|
-
openHashPanel({
|
|
2058
|
-
hash: txHash,
|
|
2059
|
-
chain: _chain
|
|
2060
|
-
});
|
|
2061
|
-
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
2062
|
-
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
2063
|
-
resolve(txHash);
|
|
2064
|
-
} catch (error) {
|
|
2065
|
-
console.error("qwe-sign-error", error);
|
|
2066
|
-
clearInterval(window.matchProvider.transactionMessageIntervalMap[transactionId].interval);
|
|
2067
|
-
delete window.matchProvider.transactionMessageIntervalMap[transactionId];
|
|
2068
|
-
reject(error);
|
|
2069
|
-
}
|
|
2070
|
-
};
|
|
2071
|
-
return await recoverAfter({
|
|
2072
|
-
handle: getSign,
|
|
2073
|
-
chainType: "ethereum" /* Ethereum */
|
|
2074
|
-
});
|
|
2075
|
-
};
|
|
2076
|
-
const deployContract = async (parameters2) => {
|
|
2077
|
-
const { abi, args, bytecode, ...request3 } = parameters2;
|
|
2078
|
-
const calldata = (0, import_viem3.encodeDeployData)({ abi, args, bytecode });
|
|
2079
|
-
return await sendTransaction({
|
|
2080
|
-
...request3,
|
|
2081
|
-
data: calldata
|
|
2082
|
-
});
|
|
2083
|
-
};
|
|
2084
|
-
const writeContract = async (parameters2) => {
|
|
2085
|
-
const { abi, address: address2, args, dataSuffix, functionName, ...request3 } = parameters2;
|
|
2086
|
-
const data = (0, import_viem.encodeFunctionData)({
|
|
2087
|
-
abi,
|
|
2088
|
-
args,
|
|
2089
|
-
functionName
|
|
2090
|
-
});
|
|
2091
|
-
return await sendTransaction({
|
|
2092
|
-
data: `${data}${dataSuffix ? dataSuffix.replace("0x", "") : ""}`,
|
|
2093
|
-
to: address2,
|
|
2094
|
-
...request3
|
|
2095
|
-
});
|
|
2096
|
-
};
|
|
2097
|
-
return {
|
|
2098
|
-
...obj,
|
|
2099
|
-
sendTransaction,
|
|
2100
|
-
deployContract,
|
|
2101
|
-
writeContract
|
|
2102
|
-
};
|
|
2103
|
-
}
|
|
2104
|
-
};
|
|
2105
|
-
}
|
|
2106
1800
|
|
|
2107
1801
|
// src/hooks/useCopyClipboard.ts
|
|
2108
1802
|
var import_copy_to_clipboard = __toESM(require("copy-to-clipboard"));
|
|
@@ -2127,165 +1821,49 @@ function useCopyClipboard(timeout = 500) {
|
|
|
2127
1821
|
return [isCopied, staticCopy];
|
|
2128
1822
|
}
|
|
2129
1823
|
|
|
2130
|
-
// src/components/
|
|
1824
|
+
// src/components/CEXBindModal/index.tsx
|
|
1825
|
+
var import_react8 = require("react");
|
|
2131
1826
|
var import_react_intl2 = require("react-intl");
|
|
2132
1827
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2133
|
-
function PasswordModal({
|
|
2134
|
-
title,
|
|
2135
|
-
isOpen,
|
|
2136
|
-
onSuccess,
|
|
2137
|
-
chainType = "ethereum" /* Ethereum */,
|
|
2138
|
-
recoveryType = "user_passcode_recovery_key" /* UserPasscode */,
|
|
2139
|
-
...props
|
|
2140
|
-
}) {
|
|
2141
|
-
const { refreshOverview, overview } = useUserInfo();
|
|
2142
|
-
const { isLogin, did } = useUserInfo();
|
|
2143
|
-
const [password, setPassword] = (0, import_react8.useState)("");
|
|
2144
|
-
const [rePassword, setRePassword] = (0, import_react8.useState)("");
|
|
2145
|
-
const [error, setError] = (0, import_react8.useState)("");
|
|
2146
|
-
const { generateEmbeddedWallets, initCore } = useWallet();
|
|
2147
|
-
const { walletReady } = useStore_default();
|
|
2148
|
-
const intl = (0, import_react_intl2.useIntl)();
|
|
2149
|
-
const passwordError = (0, import_react8.useMemo)(() => {
|
|
2150
|
-
if (password.length < 6) return intl.formatMessage({
|
|
2151
|
-
id: "passwordMinError"
|
|
2152
|
-
}, {
|
|
2153
|
-
length: 6
|
|
2154
|
-
});
|
|
2155
|
-
return "";
|
|
2156
|
-
}, [password]);
|
|
2157
|
-
const rePasswordError = (0, import_react8.useMemo)(() => {
|
|
2158
|
-
if (rePassword != password) {
|
|
2159
|
-
return intl.formatMessage({
|
|
2160
|
-
id: "passwordMatchError"
|
|
2161
|
-
});
|
|
2162
|
-
}
|
|
2163
|
-
return "";
|
|
2164
|
-
}, [rePassword, password]);
|
|
2165
|
-
(0, import_react8.useEffect)(() => {
|
|
2166
|
-
if (isOpen) {
|
|
2167
|
-
setPassword("");
|
|
2168
|
-
setRePassword("");
|
|
2169
|
-
}
|
|
2170
|
-
}, [isOpen, overview]);
|
|
2171
|
-
const [isSubmitting, setIsSubmitting] = (0, import_react8.useState)(false);
|
|
2172
|
-
const onContinue = async () => {
|
|
2173
|
-
if (isSubmitting) return;
|
|
2174
|
-
try {
|
|
2175
|
-
setIsSubmitting(true);
|
|
2176
|
-
await initCore({
|
|
2177
|
-
did: overview?.did || "",
|
|
2178
|
-
address: ""
|
|
2179
|
-
});
|
|
2180
|
-
const address = await generateEmbeddedWallets({
|
|
2181
|
-
userPasscode: password,
|
|
2182
|
-
chainType,
|
|
2183
|
-
recoveryType
|
|
2184
|
-
});
|
|
2185
|
-
await refreshOverview();
|
|
2186
|
-
onSuccess && onSuccess();
|
|
2187
|
-
} catch (error2) {
|
|
2188
|
-
setError(error2.message);
|
|
2189
|
-
} finally {
|
|
2190
|
-
setIsSubmitting(false);
|
|
2191
|
-
}
|
|
2192
|
-
};
|
|
2193
|
-
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
2194
|
-
id: "passwordTitle"
|
|
2195
|
-
}), children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-box", children: [
|
|
2196
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-header", children: [
|
|
2197
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "matchid-password-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(PasswordRoundIcon, {}) }),
|
|
2198
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "matchid-password-header-content", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl2.FormattedMessage, { id: "passwordTips" }) })
|
|
2199
|
-
] }),
|
|
2200
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("div", { className: "matchid-password-content", children: [
|
|
2201
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: intl.formatMessage({ id: "password" }), error: password.length > 0 && passwordError, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2202
|
-
Input,
|
|
2203
|
-
{
|
|
2204
|
-
placeholder: intl.formatMessage({ id: "passwordPlaceholder" }),
|
|
2205
|
-
maxLength: 32,
|
|
2206
|
-
type: "password",
|
|
2207
|
-
onChange: (e) => setPassword(e.target.value),
|
|
2208
|
-
value: password
|
|
2209
|
-
}
|
|
2210
|
-
) }),
|
|
2211
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Field, { label: intl.formatMessage({
|
|
2212
|
-
id: "rePassword"
|
|
2213
|
-
}), error: !walletReady ? intl.formatMessage({ id: "walletLoading" }) : rePassword.length > 0 ? rePasswordError || error : error, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2214
|
-
Input,
|
|
2215
|
-
{
|
|
2216
|
-
placeholder: intl.formatMessage({
|
|
2217
|
-
id: "rePasswordPlaceholder"
|
|
2218
|
-
}),
|
|
2219
|
-
maxLength: 32,
|
|
2220
|
-
onChange: (e) => setRePassword(e.target.value),
|
|
2221
|
-
value: rePassword,
|
|
2222
|
-
type: "password"
|
|
2223
|
-
}
|
|
2224
|
-
) })
|
|
2225
|
-
] }),
|
|
2226
|
-
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
2227
|
-
Button,
|
|
2228
|
-
{
|
|
2229
|
-
disabled: password.length == 0 || !!passwordError || !!rePasswordError || !walletReady,
|
|
2230
|
-
highlight: true,
|
|
2231
|
-
block: true,
|
|
2232
|
-
size: "lg",
|
|
2233
|
-
onClick: onContinue,
|
|
2234
|
-
loading: isSubmitting,
|
|
2235
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_intl2.FormattedMessage, { id: "continue" })
|
|
2236
|
-
}
|
|
2237
|
-
)
|
|
2238
|
-
] }) });
|
|
2239
|
-
}
|
|
2240
|
-
|
|
2241
|
-
// src/components/RecoveryModal/index.tsx
|
|
2242
|
-
var import_react9 = require("react");
|
|
2243
|
-
var import_react_intl3 = require("react-intl");
|
|
2244
|
-
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2245
|
-
|
|
2246
|
-
// src/components/CEXBindModal/index.tsx
|
|
2247
|
-
var import_react10 = require("react");
|
|
2248
|
-
var import_react_intl4 = require("react-intl");
|
|
2249
|
-
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2250
1828
|
|
|
2251
1829
|
// src/ui/HashPanel/index.tsx
|
|
2252
1830
|
var import_viem4 = require("viem");
|
|
2253
|
-
var
|
|
1831
|
+
var import_react9 = require("react");
|
|
2254
1832
|
var import_react_query = require("@tanstack/react-query");
|
|
2255
1833
|
|
|
2256
1834
|
// src/ui/Drawer/index.tsx
|
|
2257
|
-
var
|
|
1835
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2258
1836
|
|
|
2259
1837
|
// src/ui/ModalDrawer/index.tsx
|
|
2260
|
-
var
|
|
1838
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
2261
1839
|
|
|
2262
1840
|
// src/ui/HashPanel/index.tsx
|
|
2263
|
-
var
|
|
1841
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
2264
1842
|
|
|
2265
1843
|
// src/context/BusinessProvider.tsx
|
|
2266
|
-
var
|
|
1844
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
2267
1845
|
|
|
2268
1846
|
// src/context/index.tsx
|
|
2269
|
-
var
|
|
1847
|
+
var import_jsx_runtime56 = (
|
|
2270
1848
|
// <MpcWalletProvider>
|
|
2271
1849
|
require("react/jsx-runtime")
|
|
2272
1850
|
);
|
|
2273
1851
|
|
|
2274
1852
|
// src/hooks/useWalletInit.ts
|
|
2275
|
-
var
|
|
1853
|
+
var import_react10 = require("react");
|
|
2276
1854
|
var AppClientId2 = getAppClientId();
|
|
2277
1855
|
|
|
2278
1856
|
// src/hooks/useInit.tsx
|
|
2279
|
-
var
|
|
1857
|
+
var import_react11 = require("react");
|
|
2280
1858
|
|
|
2281
1859
|
// src/MatchContext.tsx
|
|
2282
1860
|
var import_react_query2 = require("@tanstack/react-query");
|
|
2283
|
-
var
|
|
2284
|
-
var
|
|
1861
|
+
var import_react_intl3 = require("react-intl");
|
|
1862
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
2285
1863
|
var queryClient = new import_react_query2.QueryClient();
|
|
2286
|
-
var MatchContext = (0,
|
|
1864
|
+
var MatchContext = (0, import_react12.createContext)(void 0);
|
|
2287
1865
|
var useMatch = () => {
|
|
2288
|
-
const context = (0,
|
|
1866
|
+
const context = (0, import_react12.useContext)(MatchContext);
|
|
2289
1867
|
if (context === void 0) {
|
|
2290
1868
|
throw new Error("useMatch must be used within a MatchProvider");
|
|
2291
1869
|
}
|
|
@@ -2304,7 +1882,8 @@ function useUserInfo() {
|
|
|
2304
1882
|
overview,
|
|
2305
1883
|
address,
|
|
2306
1884
|
endpoints,
|
|
2307
|
-
locale
|
|
1885
|
+
locale,
|
|
1886
|
+
refreshOverview
|
|
2308
1887
|
} = useLocalStore_default();
|
|
2309
1888
|
const { events, login } = useMatch();
|
|
2310
1889
|
const { open: SOLOpen } = useSOLModalStore();
|
|
@@ -2313,7 +1892,7 @@ function useUserInfo() {
|
|
|
2313
1892
|
const { open: BTCOpen } = useBTCModalStore();
|
|
2314
1893
|
const { open: CEXBindOpen } = useCEXBindModalStore();
|
|
2315
1894
|
const walletModalStore = useWalletModalStore();
|
|
2316
|
-
const isLogin = (0,
|
|
1895
|
+
const isLogin = (0, import_react13.useMemo)(() => !!token && !!overview, [token, overview]);
|
|
2317
1896
|
const logout = async () => {
|
|
2318
1897
|
try {
|
|
2319
1898
|
await toLogoutApi();
|
|
@@ -2413,12 +1992,6 @@ function useUserInfo() {
|
|
|
2413
1992
|
}
|
|
2414
1993
|
return false;
|
|
2415
1994
|
};
|
|
2416
|
-
const refreshOverview = async () => {
|
|
2417
|
-
const res = await getOverviewInfoApi();
|
|
2418
|
-
if (res.data) {
|
|
2419
|
-
setOverview(res.data);
|
|
2420
|
-
}
|
|
2421
|
-
};
|
|
2422
1995
|
const bindWallet = async () => {
|
|
2423
1996
|
if (!token) {
|
|
2424
1997
|
throw new Error("You must login first");
|
|
@@ -2551,29 +2124,29 @@ function useUserInfo() {
|
|
|
2551
2124
|
}
|
|
2552
2125
|
|
|
2553
2126
|
// src/components/EmailModal/StepVerify.tsx
|
|
2554
|
-
var
|
|
2127
|
+
var import_react14 = require("react");
|
|
2555
2128
|
|
|
2556
2129
|
// src/config/index.tsx
|
|
2557
2130
|
var EMAIL_INTERVAL = 60;
|
|
2558
2131
|
var EMAIL_CODE_LENGTH = 6;
|
|
2559
2132
|
|
|
2560
2133
|
// src/components/EmailModal/StepVerify.tsx
|
|
2561
|
-
var
|
|
2562
|
-
var
|
|
2134
|
+
var import_react_intl4 = require("react-intl");
|
|
2135
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
2563
2136
|
function StepVerify(props) {
|
|
2564
|
-
const intl = (0,
|
|
2137
|
+
const intl = (0, import_react_intl4.useIntl)();
|
|
2565
2138
|
const { getLoginEmailCode, loginByEmail } = useUserInfo();
|
|
2566
|
-
const [error, setError] = (0,
|
|
2567
|
-
const [code, setCode] = (0,
|
|
2568
|
-
const [sending, setSending] = (0,
|
|
2569
|
-
const [submitting, setSubmitting] = (0,
|
|
2570
|
-
const sendTimeRef = (0,
|
|
2571
|
-
const [sendBtnText, setSendBtnText] = (0,
|
|
2139
|
+
const [error, setError] = (0, import_react14.useState)("");
|
|
2140
|
+
const [code, setCode] = (0, import_react14.useState)("");
|
|
2141
|
+
const [sending, setSending] = (0, import_react14.useState)(false);
|
|
2142
|
+
const [submitting, setSubmitting] = (0, import_react14.useState)(false);
|
|
2143
|
+
const sendTimeRef = (0, import_react14.useRef)(0);
|
|
2144
|
+
const [sendBtnText, setSendBtnText] = (0, import_react14.useState)(intl.formatMessage({
|
|
2572
2145
|
id: "send"
|
|
2573
2146
|
}));
|
|
2574
2147
|
const intervalTime = EMAIL_INTERVAL;
|
|
2575
2148
|
const codeLength = EMAIL_CODE_LENGTH;
|
|
2576
|
-
const intervalRef = (0,
|
|
2149
|
+
const intervalRef = (0, import_react14.useRef)(null);
|
|
2577
2150
|
const isDownMd = useDownMd();
|
|
2578
2151
|
const onSend = async () => {
|
|
2579
2152
|
if (sendTimeRef.current > 0) {
|
|
@@ -2604,7 +2177,7 @@ function StepVerify(props) {
|
|
|
2604
2177
|
setSending(false);
|
|
2605
2178
|
}
|
|
2606
2179
|
};
|
|
2607
|
-
(0,
|
|
2180
|
+
(0, import_react14.useEffect)(() => {
|
|
2608
2181
|
onSend();
|
|
2609
2182
|
return () => {
|
|
2610
2183
|
if (intervalRef.current) {
|
|
@@ -2612,7 +2185,7 @@ function StepVerify(props) {
|
|
|
2612
2185
|
}
|
|
2613
2186
|
};
|
|
2614
2187
|
}, []);
|
|
2615
|
-
const canContinue = (0,
|
|
2188
|
+
const canContinue = (0, import_react14.useMemo)(() => {
|
|
2616
2189
|
return code.length === codeLength;
|
|
2617
2190
|
}, [code]);
|
|
2618
2191
|
const onContinue = async () => {
|
|
@@ -2636,17 +2209,17 @@ function StepVerify(props) {
|
|
|
2636
2209
|
setSubmitting(false);
|
|
2637
2210
|
}
|
|
2638
2211
|
};
|
|
2639
|
-
return /* @__PURE__ */ (0,
|
|
2640
|
-
/* @__PURE__ */ (0,
|
|
2641
|
-
/* @__PURE__ */ (0,
|
|
2642
|
-
/* @__PURE__ */ (0,
|
|
2643
|
-
/* @__PURE__ */ (0,
|
|
2644
|
-
/* @__PURE__ */ (0,
|
|
2212
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-email-verify-box", children: [
|
|
2213
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-email-verify-header", children: [
|
|
2214
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-email-verify-header-icon", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(EmailLineIcon, { size: isDownMd ? 19 : 24 }) }),
|
|
2215
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: "matchid-email-verify-header-content", children: [
|
|
2216
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-email-verify-header-value", children: props.email }),
|
|
2217
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "matchid-email-verify-header-tips", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_intl4.FormattedMessage, { id: "sendEmailTips" }) })
|
|
2645
2218
|
] })
|
|
2646
2219
|
] }),
|
|
2647
|
-
/* @__PURE__ */ (0,
|
|
2220
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Field, { label: intl.formatMessage({
|
|
2648
2221
|
id: "verificationCode"
|
|
2649
|
-
}), error, children: /* @__PURE__ */ (0,
|
|
2222
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2650
2223
|
Input,
|
|
2651
2224
|
{
|
|
2652
2225
|
placeholder: intl.formatMessage({
|
|
@@ -2656,7 +2229,7 @@ function StepVerify(props) {
|
|
|
2656
2229
|
maxLength: codeLength,
|
|
2657
2230
|
onChange: (e) => setCode(e.target.value),
|
|
2658
2231
|
value: code,
|
|
2659
|
-
after: /* @__PURE__ */ (0,
|
|
2232
|
+
after: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
2660
2233
|
Button,
|
|
2661
2234
|
{
|
|
2662
2235
|
highlight: true,
|
|
@@ -2675,13 +2248,13 @@ function StepVerify(props) {
|
|
|
2675
2248
|
)
|
|
2676
2249
|
}
|
|
2677
2250
|
) }),
|
|
2678
|
-
/* @__PURE__ */ (0,
|
|
2251
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button, { disabled: !canContinue, highlight: true, block: true, size: "lg", onClick: onContinue, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_intl4.FormattedMessage, { id: "continue" }) })
|
|
2679
2252
|
] });
|
|
2680
2253
|
}
|
|
2681
2254
|
|
|
2682
2255
|
// src/components/EmailModal/index.tsx
|
|
2683
|
-
var
|
|
2684
|
-
var
|
|
2256
|
+
var import_react_intl5 = require("react-intl");
|
|
2257
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
2685
2258
|
function EmailModal({
|
|
2686
2259
|
isOpen = false,
|
|
2687
2260
|
width = 480,
|
|
@@ -2689,16 +2262,16 @@ function EmailModal({
|
|
|
2689
2262
|
onBack,
|
|
2690
2263
|
onLogin
|
|
2691
2264
|
}) {
|
|
2692
|
-
const [step, setStep] = (0,
|
|
2693
|
-
const [emailVal, setEmailVal] = (0,
|
|
2694
|
-
const intl = (0,
|
|
2695
|
-
(0,
|
|
2265
|
+
const [step, setStep] = (0, import_react15.useState)("input");
|
|
2266
|
+
const [emailVal, setEmailVal] = (0, import_react15.useState)("");
|
|
2267
|
+
const intl = (0, import_react_intl5.useIntl)();
|
|
2268
|
+
(0, import_react15.useEffect)(() => {
|
|
2696
2269
|
if (!isOpen) {
|
|
2697
2270
|
setStep("input");
|
|
2698
2271
|
setEmailVal("");
|
|
2699
2272
|
}
|
|
2700
2273
|
}, [isOpen]);
|
|
2701
|
-
return /* @__PURE__ */ (0,
|
|
2274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
2702
2275
|
ModalWithHeader,
|
|
2703
2276
|
{
|
|
2704
2277
|
isOpen,
|
|
@@ -2708,17 +2281,17 @@ function EmailModal({
|
|
|
2708
2281
|
id: "email"
|
|
2709
2282
|
}),
|
|
2710
2283
|
onBack: step == "verify" ? () => setStep("input") : onBack,
|
|
2711
|
-
children: step === "input" ? /* @__PURE__ */ (0,
|
|
2284
|
+
children: step === "input" ? /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StepEmail, { email: emailVal, onContinue: (email) => {
|
|
2712
2285
|
setEmailVal(email);
|
|
2713
2286
|
setStep("verify");
|
|
2714
|
-
} }) : /* @__PURE__ */ (0,
|
|
2287
|
+
} }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(StepVerify, { email: emailVal, onSuccess: onLogin })
|
|
2715
2288
|
}
|
|
2716
2289
|
);
|
|
2717
2290
|
}
|
|
2718
2291
|
|
|
2719
2292
|
// src/ui/Popover/index.tsx
|
|
2720
|
-
var
|
|
2721
|
-
var
|
|
2293
|
+
var import_react16 = require("react");
|
|
2294
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
2722
2295
|
function Popover({
|
|
2723
2296
|
children,
|
|
2724
2297
|
content,
|
|
@@ -2727,8 +2300,8 @@ function Popover({
|
|
|
2727
2300
|
className = "",
|
|
2728
2301
|
gap = "20px"
|
|
2729
2302
|
}) {
|
|
2730
|
-
const [active, setActive] = (0,
|
|
2731
|
-
return children && /* @__PURE__ */ (0,
|
|
2303
|
+
const [active, setActive] = (0, import_react16.useState)(false);
|
|
2304
|
+
return children && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
2732
2305
|
"div",
|
|
2733
2306
|
{
|
|
2734
2307
|
onClick: () => {
|
|
@@ -2739,17 +2312,17 @@ function Popover({
|
|
|
2739
2312
|
className: `matchid-popover-box matchid-popover-${position} matchid-popover-${type} ${className} ${type == "click" && active ? "matchid-popover-click-active" : ""}`,
|
|
2740
2313
|
children: [
|
|
2741
2314
|
children,
|
|
2742
|
-
/* @__PURE__ */ (0,
|
|
2315
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { style: {
|
|
2743
2316
|
paddingTop: gap
|
|
2744
|
-
}, className: `matchid-popover-area`, children: /* @__PURE__ */ (0,
|
|
2317
|
+
}, className: `matchid-popover-area`, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: `matchid-popover-content`, children: content }) })
|
|
2745
2318
|
]
|
|
2746
2319
|
}
|
|
2747
2320
|
);
|
|
2748
2321
|
}
|
|
2749
2322
|
|
|
2750
2323
|
// src/components/LoginBox/index.tsx
|
|
2751
|
-
var
|
|
2752
|
-
var
|
|
2324
|
+
var import_react17 = require("react");
|
|
2325
|
+
var import_react_intl6 = require("react-intl");
|
|
2753
2326
|
|
|
2754
2327
|
// src/hooks/useAppConfig.ts
|
|
2755
2328
|
var import_react_query3 = require("@tanstack/react-query");
|
|
@@ -2772,7 +2345,7 @@ function useAppConfig() {
|
|
|
2772
2345
|
}
|
|
2773
2346
|
|
|
2774
2347
|
// src/components/LoginBox/index.tsx
|
|
2775
|
-
var
|
|
2348
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
2776
2349
|
var RecommendItem = ({
|
|
2777
2350
|
icon,
|
|
2778
2351
|
name,
|
|
@@ -2781,20 +2354,20 @@ var RecommendItem = ({
|
|
|
2781
2354
|
children,
|
|
2782
2355
|
footer
|
|
2783
2356
|
}) => {
|
|
2784
|
-
return /* @__PURE__ */ (0,
|
|
2785
|
-
/* @__PURE__ */ (0,
|
|
2786
|
-
/* @__PURE__ */ (0,
|
|
2787
|
-
/* @__PURE__ */ (0,
|
|
2788
|
-
/* @__PURE__ */ (0,
|
|
2357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-recommend-method", children: [
|
|
2358
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-recommend-method-item", onClick, children: [
|
|
2359
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-recommend-method-content", children: [
|
|
2360
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-recommend-method-icon", children: icon }),
|
|
2361
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "matchid-login-recommend-method-name", children: name })
|
|
2789
2362
|
] }),
|
|
2790
|
-
footer ? footer : children ? /* @__PURE__ */ (0,
|
|
2363
|
+
footer ? footer : children ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2791
2364
|
ArrowDownIcon,
|
|
2792
2365
|
{
|
|
2793
2366
|
className: `matchid-login-recommend-method-arrow ${showChildren ? "matchid-login-recommend-method-arrow-active" : ""}`,
|
|
2794
2367
|
size: 20,
|
|
2795
2368
|
color: "var(--matchid-arrow-color)"
|
|
2796
2369
|
}
|
|
2797
|
-
) : /* @__PURE__ */ (0,
|
|
2370
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2798
2371
|
ArrowRightIcon,
|
|
2799
2372
|
{
|
|
2800
2373
|
className: "matchid-login-recommend-method-arrow",
|
|
@@ -2803,7 +2376,7 @@ var RecommendItem = ({
|
|
|
2803
2376
|
}
|
|
2804
2377
|
)
|
|
2805
2378
|
] }),
|
|
2806
|
-
children && /* @__PURE__ */ (0,
|
|
2379
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2807
2380
|
"div",
|
|
2808
2381
|
{
|
|
2809
2382
|
className: `matchid-login-recommend-method-popover ${showChildren ? "matchid-login-recommend-method-popover-active" : ""}`,
|
|
@@ -2819,7 +2392,7 @@ function LoginBox({
|
|
|
2819
2392
|
inModal = false
|
|
2820
2393
|
}) {
|
|
2821
2394
|
const config = useAppConfig();
|
|
2822
|
-
const methodConfig = (0,
|
|
2395
|
+
const methodConfig = (0, import_react17.useMemo)(() => {
|
|
2823
2396
|
if (recommendMethods || methods || walletMethods) {
|
|
2824
2397
|
return {
|
|
2825
2398
|
recommendMethods: recommendMethods ? recommendMethods : walletMethods ? ["wallet"] : [],
|
|
@@ -2861,82 +2434,82 @@ function LoginBox({
|
|
|
2861
2434
|
walletMethods: walletMethodList
|
|
2862
2435
|
};
|
|
2863
2436
|
}, [config.platform, recommendMethods, methods, walletMethods]);
|
|
2864
|
-
const [emailOpen, setEmailOpen] = (0,
|
|
2437
|
+
const [emailOpen, setEmailOpen] = (0, import_react17.useState)(false);
|
|
2865
2438
|
const { login } = useUserInfo();
|
|
2866
|
-
const [showWallet, setShowWallet] = (0,
|
|
2867
|
-
const intl = (0,
|
|
2439
|
+
const [showWallet, setShowWallet] = (0, import_react17.useState)(false);
|
|
2440
|
+
const intl = (0, import_react_intl6.useIntl)();
|
|
2868
2441
|
const isDownMd = useDownMd();
|
|
2869
2442
|
const methodMap = {
|
|
2870
2443
|
wallet: {
|
|
2871
|
-
icon: /* @__PURE__ */ (0,
|
|
2444
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(WalletIcon, { size: isDownMd ? 36 : 40 }),
|
|
2872
2445
|
name: intl.formatMessage({ id: "wallet" }),
|
|
2873
2446
|
onClick: () => setShowWallet(!showWallet),
|
|
2874
2447
|
type: "wallet"
|
|
2875
2448
|
},
|
|
2876
2449
|
email: {
|
|
2877
|
-
icon: /* @__PURE__ */ (0,
|
|
2450
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(EmailIcon, { size: isDownMd ? 36 : 40 }),
|
|
2878
2451
|
name: intl.formatMessage({ id: "email" }),
|
|
2879
2452
|
onClick: () => {
|
|
2880
2453
|
setEmailOpen(true);
|
|
2881
2454
|
}
|
|
2882
2455
|
},
|
|
2883
2456
|
google: {
|
|
2884
|
-
icon: /* @__PURE__ */ (0,
|
|
2457
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(GoogleIcon, { size: isDownMd ? 36 : 40 }),
|
|
2885
2458
|
name: "Google",
|
|
2886
2459
|
onClick: () => login("google")
|
|
2887
2460
|
},
|
|
2888
2461
|
twitter: {
|
|
2889
|
-
icon: /* @__PURE__ */ (0,
|
|
2462
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(XIcon, { size: isDownMd ? 36 : 40 }),
|
|
2890
2463
|
name: "X",
|
|
2891
2464
|
onClick: () => login("twitter")
|
|
2892
2465
|
},
|
|
2893
2466
|
telegram: {
|
|
2894
|
-
icon: /* @__PURE__ */ (0,
|
|
2467
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(TelegramIcon, { size: isDownMd ? 36 : 40 }),
|
|
2895
2468
|
name: "Telegram",
|
|
2896
2469
|
onClick: () => login("telegram")
|
|
2897
2470
|
},
|
|
2898
2471
|
github: {
|
|
2899
|
-
icon: /* @__PURE__ */ (0,
|
|
2472
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(GithubIcon, { size: isDownMd ? 36 : 40 }),
|
|
2900
2473
|
name: "Github",
|
|
2901
2474
|
onClick: () => login("github")
|
|
2902
2475
|
},
|
|
2903
2476
|
discord: {
|
|
2904
|
-
icon: /* @__PURE__ */ (0,
|
|
2477
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(DiscordIcon, { size: isDownMd ? 36 : 40 }),
|
|
2905
2478
|
name: "Discord",
|
|
2906
2479
|
onClick: () => login("discord")
|
|
2907
2480
|
},
|
|
2908
2481
|
linkedin: {
|
|
2909
|
-
icon: /* @__PURE__ */ (0,
|
|
2482
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(LinkedinIcon, { size: isDownMd ? 36 : 40 }),
|
|
2910
2483
|
name: "LinkedIn",
|
|
2911
2484
|
onClick: () => login("linkedin")
|
|
2912
2485
|
},
|
|
2913
2486
|
facebook: {
|
|
2914
|
-
icon: /* @__PURE__ */ (0,
|
|
2487
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(FacebookIcon, { size: isDownMd ? 36 : 40 }),
|
|
2915
2488
|
name: "Facebook",
|
|
2916
2489
|
onClick: () => login("facebook")
|
|
2917
2490
|
},
|
|
2918
2491
|
youtube: {
|
|
2919
|
-
icon: /* @__PURE__ */ (0,
|
|
2492
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(YoutubeIcon, { size: isDownMd ? 36 : 40 }),
|
|
2920
2493
|
name: "Youtube",
|
|
2921
2494
|
onClick: () => login("youtube")
|
|
2922
2495
|
}
|
|
2923
2496
|
};
|
|
2924
2497
|
const { walletMap } = useWalletConfig();
|
|
2925
|
-
return /* @__PURE__ */ (0,
|
|
2926
|
-
(!inModal || !emailOpen) && /* @__PURE__ */ (0,
|
|
2927
|
-
/* @__PURE__ */ (0,
|
|
2928
|
-
return /* @__PURE__ */ (0,
|
|
2498
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
|
|
2499
|
+
(!inModal || !emailOpen) && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-box", children: [
|
|
2500
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-recommend-list", children: methodConfig.recommendMethods.map((m) => {
|
|
2501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2929
2502
|
RecommendItem,
|
|
2930
2503
|
{
|
|
2931
2504
|
icon: methodMap[m]?.icon,
|
|
2932
2505
|
name: methodMap[m]?.name,
|
|
2933
2506
|
onClick: methodMap[m]?.onClick,
|
|
2934
2507
|
showChildren: m == "wallet" && showWallet,
|
|
2935
|
-
children: m == "wallet" && /* @__PURE__ */ (0,
|
|
2936
|
-
/* @__PURE__ */ (0,
|
|
2937
|
-
/* @__PURE__ */ (0,
|
|
2508
|
+
children: m == "wallet" && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
|
|
2509
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-recommend-wallet-divider" }),
|
|
2510
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-recommend-wallet-list", children: methodConfig.walletMethods.map((n) => {
|
|
2938
2511
|
const m2 = walletMap[n];
|
|
2939
|
-
return /* @__PURE__ */ (0,
|
|
2512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
2940
2513
|
"div",
|
|
2941
2514
|
{
|
|
2942
2515
|
className: "matchid-login-recommend-wallet-item",
|
|
@@ -2944,16 +2517,16 @@ function LoginBox({
|
|
|
2944
2517
|
login(m2.method);
|
|
2945
2518
|
},
|
|
2946
2519
|
children: [
|
|
2947
|
-
/* @__PURE__ */ (0,
|
|
2948
|
-
/* @__PURE__ */ (0,
|
|
2949
|
-
/* @__PURE__ */ (0,
|
|
2520
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-recommend-wallet-item-content", children: [
|
|
2521
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-recommend-wallet-item-icon", children: m2.icon }),
|
|
2522
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2950
2523
|
"div",
|
|
2951
2524
|
{
|
|
2952
2525
|
className: "matchid-login-recommend-wallet-item-hover-icon",
|
|
2953
2526
|
children: m2.activeIcon
|
|
2954
2527
|
}
|
|
2955
2528
|
),
|
|
2956
|
-
/* @__PURE__ */ (0,
|
|
2529
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2957
2530
|
"span",
|
|
2958
2531
|
{
|
|
2959
2532
|
className: "matchid-login-recommend-wallet-item-name",
|
|
@@ -2961,7 +2534,7 @@ function LoginBox({
|
|
|
2961
2534
|
}
|
|
2962
2535
|
)
|
|
2963
2536
|
] }),
|
|
2964
|
-
/* @__PURE__ */ (0,
|
|
2537
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2965
2538
|
ArrowRightIcon,
|
|
2966
2539
|
{
|
|
2967
2540
|
className: "matchid-login-recommend-wallet-item-arrow",
|
|
@@ -2979,10 +2552,10 @@ function LoginBox({
|
|
|
2979
2552
|
m
|
|
2980
2553
|
);
|
|
2981
2554
|
}) }),
|
|
2982
|
-
methodConfig.methods.length > 0 && /* @__PURE__ */ (0,
|
|
2983
|
-
/* @__PURE__ */ (0,
|
|
2984
|
-
/* @__PURE__ */ (0,
|
|
2985
|
-
return /* @__PURE__ */ (0,
|
|
2555
|
+
methodConfig.methods.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "matchid-login-other", children: [
|
|
2556
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-other-text", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_intl6.FormattedMessage, { id: "otherLoginMethods" }) }),
|
|
2557
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "matchid-login-method-box", children: methodConfig.methods.map((m) => {
|
|
2558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2986
2559
|
"div",
|
|
2987
2560
|
{
|
|
2988
2561
|
className: "matchid-login-method-item",
|
|
@@ -2995,7 +2568,7 @@ function LoginBox({
|
|
|
2995
2568
|
}) })
|
|
2996
2569
|
] })
|
|
2997
2570
|
] }),
|
|
2998
|
-
/* @__PURE__ */ (0,
|
|
2571
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
2999
2572
|
EmailModal,
|
|
3000
2573
|
{
|
|
3001
2574
|
isOpen: emailOpen,
|
|
@@ -3011,56 +2584,56 @@ function LoginBox({
|
|
|
3011
2584
|
}
|
|
3012
2585
|
|
|
3013
2586
|
// src/components/LoginButton/index.tsx
|
|
3014
|
-
var
|
|
2587
|
+
var import_react19 = require("react");
|
|
3015
2588
|
|
|
3016
2589
|
// src/components/LoginPanel/index.tsx
|
|
3017
|
-
var
|
|
3018
|
-
var
|
|
2590
|
+
var import_react_intl7 = require("react-intl");
|
|
2591
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3019
2592
|
function LoginPanel({
|
|
3020
2593
|
header,
|
|
3021
2594
|
onClose,
|
|
3022
2595
|
...props
|
|
3023
2596
|
}) {
|
|
3024
2597
|
const isDownMd = useDownMd();
|
|
3025
|
-
return /* @__PURE__ */ (0,
|
|
3026
|
-
header ? header : /* @__PURE__ */ (0,
|
|
3027
|
-
/* @__PURE__ */ (0,
|
|
3028
|
-
/* @__PURE__ */ (0,
|
|
3029
|
-
/* @__PURE__ */ (0,
|
|
2598
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-panel", children: [
|
|
2599
|
+
header ? header : /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-panel-header", children: [
|
|
2600
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: "matchid-login-panel-header-content", children: [
|
|
2601
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-panel-header-title", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl7.FormattedMessage, { id: "loginTitle" }) }),
|
|
2602
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-panel-header-subtilte", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_intl7.FormattedMessage, { id: "loginTips" }) })
|
|
3030
2603
|
] }),
|
|
3031
|
-
onClose && /* @__PURE__ */ (0,
|
|
2604
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-panel-header-close", onClick: onClose, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(CloseRoundIcon, { size: isDownMd ? 24 : 30 }) })
|
|
3032
2605
|
] }),
|
|
3033
|
-
/* @__PURE__ */ (0,
|
|
3034
|
-
/* @__PURE__ */ (0,
|
|
2606
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-panel-divide" }),
|
|
2607
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "matchid-login-panel-box", children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(LoginBox, { ...props }) })
|
|
3035
2608
|
] });
|
|
3036
2609
|
}
|
|
3037
2610
|
|
|
3038
2611
|
// src/components/LoginModal/index.tsx
|
|
3039
|
-
var
|
|
2612
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3040
2613
|
function LoginModal({
|
|
3041
2614
|
isOpen = false,
|
|
3042
2615
|
width = 480,
|
|
3043
2616
|
...props
|
|
3044
2617
|
}) {
|
|
3045
2618
|
const { isLogin } = useUserInfo();
|
|
3046
|
-
return /* @__PURE__ */ (0,
|
|
2619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
3047
2620
|
Modal,
|
|
3048
2621
|
{
|
|
3049
2622
|
isOpen: isOpen && !isLogin,
|
|
3050
2623
|
width,
|
|
3051
|
-
children: /* @__PURE__ */ (0,
|
|
2624
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(LoginPanel, { ...props, inModal: true })
|
|
3052
2625
|
}
|
|
3053
2626
|
);
|
|
3054
2627
|
}
|
|
3055
2628
|
|
|
3056
2629
|
// src/components/UserPopover/index.tsx
|
|
3057
|
-
var
|
|
2630
|
+
var import_react18 = require("react");
|
|
3058
2631
|
|
|
3059
2632
|
// src/assets/icon/ProfileIcon.tsx
|
|
3060
|
-
var
|
|
2633
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
3061
2634
|
function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
3062
|
-
return /* @__PURE__ */ (0,
|
|
3063
|
-
/* @__PURE__ */ (0,
|
|
2635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
2636
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3064
2637
|
"path",
|
|
3065
2638
|
{
|
|
3066
2639
|
fillRule: "evenodd",
|
|
@@ -3069,7 +2642,7 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
3069
2642
|
fill: color
|
|
3070
2643
|
}
|
|
3071
2644
|
),
|
|
3072
|
-
/* @__PURE__ */ (0,
|
|
2645
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
3073
2646
|
"path",
|
|
3074
2647
|
{
|
|
3075
2648
|
fillRule: "evenodd",
|
|
@@ -3082,11 +2655,11 @@ function ProfileIcon({ size = 24, color = "black", ...props }) {
|
|
|
3082
2655
|
}
|
|
3083
2656
|
|
|
3084
2657
|
// src/components/UserPopover/index.tsx
|
|
3085
|
-
var
|
|
3086
|
-
var
|
|
2658
|
+
var import_react_intl8 = require("react-intl");
|
|
2659
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
3087
2660
|
function UserContent() {
|
|
3088
2661
|
const { logout, address, username } = useUserInfo();
|
|
3089
|
-
const [logouting, setLogouting] = (0,
|
|
2662
|
+
const [logouting, setLogouting] = (0, import_react18.useState)(false);
|
|
3090
2663
|
const onLogout = async () => {
|
|
3091
2664
|
if (logouting) return;
|
|
3092
2665
|
try {
|
|
@@ -3104,34 +2677,34 @@ function UserContent() {
|
|
|
3104
2677
|
rightIcon,
|
|
3105
2678
|
onClick
|
|
3106
2679
|
}) => {
|
|
3107
|
-
return /* @__PURE__ */ (0,
|
|
3108
|
-
/* @__PURE__ */ (0,
|
|
2680
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-user-popover-item", onClick, children: [
|
|
2681
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: `matchid-user-popover-item-content`, children: [
|
|
3109
2682
|
icon,
|
|
3110
|
-
/* @__PURE__ */ (0,
|
|
2683
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "matchid-user-popover-item-text", children })
|
|
3111
2684
|
] }),
|
|
3112
2685
|
rightIcon
|
|
3113
2686
|
] });
|
|
3114
2687
|
};
|
|
3115
2688
|
const UserDivider = () => {
|
|
3116
|
-
return /* @__PURE__ */ (0,
|
|
2689
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: `matchid-user-popover-divider` });
|
|
3117
2690
|
};
|
|
3118
|
-
const [usernameOpen, setUsernameOpen] = (0,
|
|
2691
|
+
const [usernameOpen, setUsernameOpen] = (0, import_react18.useState)(false);
|
|
3119
2692
|
const [copied, setCopied] = useCopyClipboard();
|
|
3120
|
-
const intl = (0,
|
|
3121
|
-
return /* @__PURE__ */ (0,
|
|
3122
|
-
/* @__PURE__ */ (0,
|
|
3123
|
-
/* @__PURE__ */ (0,
|
|
2693
|
+
const intl = (0, import_react_intl8.useIntl)();
|
|
2694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-user-popover-content", children: [
|
|
2695
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "matchid-user-popover-list", children: [
|
|
2696
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(UserItem, { onClick: () => {
|
|
3124
2697
|
setCopied(address);
|
|
3125
|
-
}, icon: copied ? /* @__PURE__ */ (0,
|
|
3126
|
-
/* @__PURE__ */ (0,
|
|
3127
|
-
/* @__PURE__ */ (0,
|
|
2698
|
+
}, icon: copied ? /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckIcon, { size: 20, color: "#0ecb81" }) : /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CopyIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(CheckIcon, { size: 20, color: "var(--icon-color)" }), children: truncateAddress(address) }),
|
|
2699
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(UserDivider, {}),
|
|
2700
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(UserItem, { onClick: () => {
|
|
3128
2701
|
setUsernameOpen(true);
|
|
3129
|
-
}, icon: /* @__PURE__ */ (0,
|
|
2702
|
+
}, icon: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ProfileIcon, { size: 20, color: "var(--icon-color)" }), rightIcon: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ArrowRightIcon, { size: 20, color: "var(--icon-color)" }), children: username || intl.formatMessage({
|
|
3130
2703
|
id: "setUsername"
|
|
3131
2704
|
}) })
|
|
3132
2705
|
] }),
|
|
3133
|
-
/* @__PURE__ */ (0,
|
|
3134
|
-
/* @__PURE__ */ (0,
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button, { onClick: onLogout, loading: logouting, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_react_intl8.FormattedMessage, { id: "disconnect" }) }),
|
|
2707
|
+
/* @__PURE__ */ (0, import_jsx_runtime65.jsx)(UsernameModal, { isOpen: usernameOpen, onClose: () => {
|
|
3135
2708
|
setUsernameOpen(false);
|
|
3136
2709
|
}, onSuccess: () => {
|
|
3137
2710
|
setUsernameOpen(false);
|
|
@@ -3142,12 +2715,12 @@ function UserPopover({
|
|
|
3142
2715
|
children,
|
|
3143
2716
|
...props
|
|
3144
2717
|
}) {
|
|
3145
|
-
return /* @__PURE__ */ (0,
|
|
2718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Popover, { ...props, content: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(UserContent, {}), children });
|
|
3146
2719
|
}
|
|
3147
2720
|
|
|
3148
2721
|
// src/components/LoginButton/index.tsx
|
|
3149
|
-
var
|
|
3150
|
-
var
|
|
2722
|
+
var import_react_intl9 = require("react-intl");
|
|
2723
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
3151
2724
|
function LoginButton({
|
|
3152
2725
|
loginRender,
|
|
3153
2726
|
methods,
|
|
@@ -3159,12 +2732,12 @@ function LoginButton({
|
|
|
3159
2732
|
walletMethods,
|
|
3160
2733
|
...props
|
|
3161
2734
|
}) {
|
|
3162
|
-
const intl = (0,
|
|
2735
|
+
const intl = (0, import_react_intl9.useIntl)();
|
|
3163
2736
|
const { isLogin, username } = useUserInfo();
|
|
3164
|
-
const [loginOpen, setLoginOpen] = (0,
|
|
2737
|
+
const [loginOpen, setLoginOpen] = (0, import_react19.useState)(false);
|
|
3165
2738
|
if (!isLogin) {
|
|
3166
|
-
return /* @__PURE__ */ (0,
|
|
3167
|
-
/* @__PURE__ */ (0,
|
|
2739
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
|
|
2740
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
3168
2741
|
LoginModal,
|
|
3169
2742
|
{
|
|
3170
2743
|
methods,
|
|
@@ -3174,32 +2747,32 @@ function LoginButton({
|
|
|
3174
2747
|
onClose: () => setLoginOpen(false)
|
|
3175
2748
|
}
|
|
3176
2749
|
),
|
|
3177
|
-
/* @__PURE__ */ (0,
|
|
3178
|
-
/* @__PURE__ */ (0,
|
|
3179
|
-
/* @__PURE__ */ (0,
|
|
2750
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Button, { className: "matchid-unlogin-btn", ...props, highlight: true, onClick: () => setLoginOpen(true), children: [
|
|
2751
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UnLoginIcon_default, {}),
|
|
2752
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_intl9.FormattedMessage, { id: "login" }) })
|
|
3180
2753
|
] })
|
|
3181
2754
|
] });
|
|
3182
2755
|
}
|
|
3183
|
-
return loginRender ? /* @__PURE__ */ (0,
|
|
3184
|
-
/* @__PURE__ */ (0,
|
|
3185
|
-
/* @__PURE__ */ (0,
|
|
2756
|
+
return loginRender ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_jsx_runtime66.Fragment, { children: loginRender }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(UserPopover, { position: popoverPosition, type: popoverType, gap: popoverGap, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Button, { onClick: onLoginClick, className: "matchid-login-btn", ...props, children: [
|
|
2757
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(LoginIcon_default, {}),
|
|
2758
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { children: username ? truncateAddress(username) : "MatchID " + intl.formatMessage({
|
|
3186
2759
|
id: "user"
|
|
3187
2760
|
}) })
|
|
3188
2761
|
] }) });
|
|
3189
2762
|
}
|
|
3190
2763
|
|
|
3191
2764
|
// src/components/UsernameModal/index.tsx
|
|
3192
|
-
var
|
|
2765
|
+
var import_react20 = require("react");
|
|
3193
2766
|
|
|
3194
2767
|
// src/assets/icon/InfoRoundIcon.tsx
|
|
3195
|
-
var
|
|
2768
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
3196
2769
|
function InfoRoundIcon({
|
|
3197
2770
|
size,
|
|
3198
2771
|
color = "#6E6E6E",
|
|
3199
2772
|
...props
|
|
3200
2773
|
}) {
|
|
3201
|
-
return /* @__PURE__ */ (0,
|
|
3202
|
-
/* @__PURE__ */ (0,
|
|
2774
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("svg", { width: size, height: size, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
|
|
2775
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("g", { clipPath: "url(#clip0_418_7746)", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
3203
2776
|
"path",
|
|
3204
2777
|
{
|
|
3205
2778
|
fillRule: "evenodd",
|
|
@@ -3208,21 +2781,21 @@ function InfoRoundIcon({
|
|
|
3208
2781
|
fill: color
|
|
3209
2782
|
}
|
|
3210
2783
|
) }),
|
|
3211
|
-
/* @__PURE__ */ (0,
|
|
2784
|
+
/* @__PURE__ */ (0, import_jsx_runtime67.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("clipPath", { id: "clip0_418_7746", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("rect", { width: "16", height: "16", fill: "white" }) }) })
|
|
3212
2785
|
] });
|
|
3213
2786
|
}
|
|
3214
2787
|
|
|
3215
2788
|
// src/components/UsernameModal/index.tsx
|
|
3216
|
-
var
|
|
3217
|
-
var
|
|
2789
|
+
var import_react_intl10 = require("react-intl");
|
|
2790
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
3218
2791
|
var ValidItem = ({
|
|
3219
2792
|
success = false,
|
|
3220
2793
|
text
|
|
3221
2794
|
}) => {
|
|
3222
2795
|
const isDownMd = useDownMd();
|
|
3223
|
-
return /* @__PURE__ */ (0,
|
|
3224
|
-
success ? /* @__PURE__ */ (0,
|
|
3225
|
-
/* @__PURE__ */ (0,
|
|
2796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: `matchid-valid-status-item matchid-valid-status-${success ? "success" : "error"}`, children: [
|
|
2797
|
+
success ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(CheckRoundIcon, { size: isDownMd ? 12 : 16 }) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(InfoRoundIcon, { size: isDownMd ? 12 : 16 }),
|
|
2798
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { children: text })
|
|
3226
2799
|
] });
|
|
3227
2800
|
};
|
|
3228
2801
|
function UsernameModal({
|
|
@@ -3233,23 +2806,23 @@ function UsernameModal({
|
|
|
3233
2806
|
}) {
|
|
3234
2807
|
const { username, refreshOverview } = useUserInfo();
|
|
3235
2808
|
const { isLogin } = useUserInfo();
|
|
3236
|
-
const [val, setVal] = (0,
|
|
3237
|
-
const [error, setError] = (0,
|
|
2809
|
+
const [val, setVal] = (0, import_react20.useState)(username);
|
|
2810
|
+
const [error, setError] = (0, import_react20.useState)("");
|
|
3238
2811
|
const isDownMd = useDownMd();
|
|
3239
|
-
(0,
|
|
2812
|
+
(0, import_react20.useEffect)(() => {
|
|
3240
2813
|
if (isOpen) {
|
|
3241
2814
|
setVal(username);
|
|
3242
2815
|
setError("");
|
|
3243
2816
|
}
|
|
3244
2817
|
}, [isOpen]);
|
|
3245
|
-
const isValid = (0,
|
|
2818
|
+
const isValid = (0, import_react20.useMemo)(() => {
|
|
3246
2819
|
return isValidUsername(val);
|
|
3247
2820
|
}, [val]);
|
|
3248
|
-
const isLength = (0,
|
|
2821
|
+
const isLength = (0, import_react20.useMemo)(() => {
|
|
3249
2822
|
return val.length >= 2 && val.length <= 32;
|
|
3250
2823
|
}, [val]);
|
|
3251
2824
|
const isSafe = isValid && isLength;
|
|
3252
|
-
const [isSubmitting, setIsSubmitting] = (0,
|
|
2825
|
+
const [isSubmitting, setIsSubmitting] = (0, import_react20.useState)(false);
|
|
3253
2826
|
const onSubmit = async () => {
|
|
3254
2827
|
if (isSubmitting) return;
|
|
3255
2828
|
try {
|
|
@@ -3269,13 +2842,13 @@ function UsernameModal({
|
|
|
3269
2842
|
setIsSubmitting(false);
|
|
3270
2843
|
}
|
|
3271
2844
|
};
|
|
3272
|
-
const intl = (0,
|
|
3273
|
-
return /* @__PURE__ */ (0,
|
|
2845
|
+
const intl = (0, import_react_intl10.useIntl)();
|
|
2846
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ModalWithHeader, { isOpen: isOpen && isLogin, ...props, title: title || intl.formatMessage({
|
|
3274
2847
|
id: username ? "editUsernameTitle" : "setUsernameTitle"
|
|
3275
|
-
}), children: /* @__PURE__ */ (0,
|
|
3276
|
-
/* @__PURE__ */ (0,
|
|
2848
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "matchid-username-box", children: [
|
|
2849
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Field, { label: intl.formatMessage({
|
|
3277
2850
|
id: "username"
|
|
3278
|
-
}), error, children: /* @__PURE__ */ (0,
|
|
2851
|
+
}), error, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3279
2852
|
Input,
|
|
3280
2853
|
{
|
|
3281
2854
|
placeholder: intl.formatMessage({
|
|
@@ -3288,8 +2861,8 @@ function UsernameModal({
|
|
|
3288
2861
|
value: val
|
|
3289
2862
|
}
|
|
3290
2863
|
) }),
|
|
3291
|
-
/* @__PURE__ */ (0,
|
|
3292
|
-
/* @__PURE__ */ (0,
|
|
2864
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "matchid-valid", children: [
|
|
2865
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
3293
2866
|
ValidItem,
|
|
3294
2867
|
{
|
|
3295
2868
|
success: isValid,
|
|
@@ -3298,21 +2871,21 @@ function UsernameModal({
|
|
|
3298
2871
|
})
|
|
3299
2872
|
}
|
|
3300
2873
|
),
|
|
3301
|
-
/* @__PURE__ */ (0,
|
|
2874
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ValidItem, { success: isLength, text: intl.formatMessage({
|
|
3302
2875
|
id: "usernameLengthError"
|
|
3303
2876
|
}) })
|
|
3304
2877
|
] }),
|
|
3305
|
-
/* @__PURE__ */ (0,
|
|
2878
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { disabled: !isSafe, loading: isSubmitting, style: {
|
|
3306
2879
|
marginTop: isDownMd ? "36px" : "64px"
|
|
3307
|
-
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0,
|
|
3308
|
-
/* @__PURE__ */ (0,
|
|
2880
|
+
}, onClick: onSubmit, size: "lg", block: true, highlight: true, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_intl10.FormattedMessage, { id: "confirm" }) }),
|
|
2881
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Button, { style: {
|
|
3309
2882
|
marginTop: isDownMd ? "12px" : "24px"
|
|
3310
|
-
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0,
|
|
2883
|
+
}, onClick: props.onClose, size: "lg", block: true, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_intl10.FormattedMessage, { id: "cancel" }) })
|
|
3311
2884
|
] }) });
|
|
3312
2885
|
}
|
|
3313
2886
|
|
|
3314
2887
|
// src/components/SOLModal/index.tsx
|
|
3315
|
-
var
|
|
2888
|
+
var import_react22 = __toESM(require("react"));
|
|
3316
2889
|
var import_web3 = require("@solana/web3.js");
|
|
3317
2890
|
var import_wallet_adapter_react = require("@solana/wallet-adapter-react");
|
|
3318
2891
|
var import_wallet_adapter_react_ui = require("@solana/wallet-adapter-react-ui");
|
|
@@ -3328,10 +2901,10 @@ var WalletAdapterNetwork;
|
|
|
3328
2901
|
// src/components/SOLModal/index.tsx
|
|
3329
2902
|
var import_wallet_adapter_wallets = require("@solana/wallet-adapter-wallets");
|
|
3330
2903
|
var import_styles = require("@solana/wallet-adapter-react-ui/styles.css");
|
|
3331
|
-
var
|
|
2904
|
+
var import_react_intl11 = require("react-intl");
|
|
3332
2905
|
|
|
3333
2906
|
// src/components/WalletModalContent/index.tsx
|
|
3334
|
-
var
|
|
2907
|
+
var import_react21 = require("react");
|
|
3335
2908
|
|
|
3336
2909
|
// src/assets/wallet.ts
|
|
3337
2910
|
var walletErrorImage = "data:image/png;base64,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";
|
|
@@ -3341,7 +2914,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
3341
2914
|
var walletSigningImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAABAsUlEQVR4Xu19CXQUx7X2vCUveS/vJdgx+yaJHQwI8G4wzWIbG2LLNrbxPgnY7CC0SyNpJBAIECAZAbLB8gAyKGGxiFnkGJwmz47xsU0mvyEWoGW0D0jgSeK88L84/7l/fS2V3GrNaDRCEiPpfud8p3qqu6tnpvt+favqVpXJxGAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYbYvCwkKlpKREvXDhglpQUKCKz+qlS5e0z8j3N5aXl6tXrlwJMf4OBoPRDD777LPg7Ozs0MOHD1NiYiLNnTuX7rzrDho5ejj179+f+vbt69ccNGgQBQQE0LBhw2jUqFE0ZswYun3sGBo3cQxNmDiexk+8XaTBIh1LwYLfbY/vcvsnTpyofUbqjXfeeSdNnjyZHnnkEXrxxRcpKSmJfvnLX9KuXbtCz5w5ozgcjmDjs8LoQlBVNcBqtZrFjbfjIYAR/fCHP6Qf/OAH9C//8i/0z//8zw2p3P6nf/qnhtRfKH4K00B534z5kvr/71//9V/p3/7t36hHjx6aeM6cOZPWr19Pubm56tmzZ81CCHqYGF0LH3/8sW3lypXqtGnTqHfv3tpDAOLBkakkHiQ8KJ4EwOTmAfMHGoWiO1HeO2O+O+r/M5wDMfiv//ovuuuuuyg6OloTAhOj68But6cvWLBAc51xs40PhHwojHmeiGP9jcbv2N3Y0v/A+L/p/z94gqhiwSPYsWNHuonRuSFc/h5Qc9xQvNXxpseN/t73vtcgBCbDQyDdf32e/hh/pvFh7040/hetIcrBs4H7P2LECEpNTaWTJ08miRcIVwk6G/Lz8wOys7Nts2fPph/96EcNN9hI5Mt9uPF4AOAW6vPkMc1RHmcsl+l/bMk9wjMwdOhQraHw008/zTAxOheE8eehoQ91O1mnd2f4ktLY5bEyT79tPEdPvWi0N+HJQKi+//3v03/8x39o3gw+y7eXPAapvlFT5hn3ucvrDMfrabwfbUWIQHJyMrYZnQUOhyMdXXvS+EWWx4dFNgLp98OQjMcZzzWWhxQPJozylltu0bwOtDKD+B4y78c//vEN77/11lu1/J/85CdainzwP//zP7XfAqI+ixTfR6b6bX3aWY9vDfUNhfr7647yWYAIcJtAJwFc/xUrVtjRvac3UiPxIOBBQl3vwQcfJPQQWFcnqVu3blW3bNmiWiwWdc6cOWpwcLADDwCMW76JcD4eJqMIoMwJEybQnj17KC8vT33vvffUo0ePqkeOHNFSfJbbN7L/3XffVQ8ePKju3btXfeutt9SsrCx127ZtGtPT09XMzEwtxW+Rv0fmdbX9mzZtajHXrVunrlq1ShXPh+uJJ57QYiggoNJ701N/b/GciGeBcnJy8sTLJUD/vDH8DMIIdk+ZMqXhLe6O4jCttffhhx8mq9WqijqezViOxIcffmjeuHGjberUqdSzZ88GATCWb6p/cFDuzp07STwoiqEohp9A3JvQL7/80iZEwfbMM884ho8Y1qzXB/FH13FoaCjZ7XZz49IYfoOTJ08qP/vZzxxwjY1GrzdUuJfiOPv27dvNBQUFAcZy3OFXv/pVRkREBPXp06dJmfoHB28LRVEIobrGMhj+h9zcXGVn9puOsWPHau0pRhEAkQeP74477iB4XuwF+ClWr15txk0yvp0l4eqhPv3CCy+QMH6fwj7RFSREIEm4j5rb6O4apvoHBvXxQ4cOsQB0EiA0fPXqdSSqew1VO5MbEYAHuHbtWnQNKo0KYNx8nDt3ThH1Qs34jIYpjR+NZC+98gqlpaUpxvNbijNnziQtXbrU1ZwAYPupp56y48Eyns/wT6iqGrxhwwY72oQ8tQkg/7777iPxnIU2Pptx0wGjxgAPfVeYnlB2xH2/8dZbqv3SpRsyzHfeeSc0MDCwyTVMuodlxowZlJ+fbzOey/Bf5OTkKM8++6wDPS0mNwKA5wptAeL+I4/hTzh+/HgeRnrpu3kk0YgDz0DU+0m8wc3Gc1uDV4QnoTd8vQCAw4cPx5uCBaCTYdOmTbtRjTS5EQA8R2gnCAsLYwHwN6SkpIQOGTLErQDg7T948GAM/T3dViO93n77bQoKCvIoAGgsfOmll1gAOhnsdvtus9ncRABA3GM8Xz/96U9ZAPwNBw8epF69ejW6WZKoFowfP55sAsbzWot58+Yp9957b0N8gF4AsI3AHfGg5LW0l4HhPxBVSdVdOwCIe/vAAw+wAPgbsrKytBZ+k0EAZCgp+vFVVW0zAYiIiFBmzZrVcA2T7iGRvQ3oNz5//ry58ZkMfwcChvSNySaDCED4Oc7Dz7BlyxatfmYyCADcfwgAxgVcvHixzQQgPj5eCQkJaQglNukeEHzGd1myZAkJD8Dc+EyGvwMRlQi39iQAmF2I4zz8DBkZGc0KwOOPPw7V7hABkB7AE0880WZtDoyOAwtAJ4QnD0DWzxH73VECACJYaMHChXRSVZPy8/OV9iQCU0BRxem2tNvtjXnunHKuoEApqCdcdqSY+BXbzXHnzp12xIywAHQiePIAZCNdRwsArouBQYgcjIyMbHPGxMSQxWLRJjXFcFWMW09JSdEo6rDdjrj/r7/+OmVmZtZx2zba8eablJ2djcZfre8eg7RycnI07t27l3bv3k3ozcF+EMciLyEhQZsr0p3xgywAfojmBOBmeAAgrov97UHZzoA3FSiHCoNyGHF3JFx3SYwJQXdsv379tAlg0RWMAC6kAwYM0HqNbrvtNi3EV27LFM+N8X5KsgD4ITZv3uxWAGAsN0sAmP5DOZRbP6TbeIx8Zjy5/pIsAH4ITx6ADA1uawFITU1F2KhWtj8IgBQ7fJfuRCnwoNHI9cYu9+vT5ozcE3EOC4AfwlMjYHt5AOnp6cpzzz2nXQvXQMrseMr73JwAIh9G725KMWN53oiyJk2axALgb+hoATh69KiC+QEwt4DJzYPC7FrUi8VDDz1ERUVFvCSbP8FTFUDeuLYWAFVVe8ydOzcJjUnNNRgxuw7xLKF3YNmyZfjM8Cds2rSpQQD0xt9eAgB88sknIUlJSY5x48ZpLfH//u//rrU5QBA6gsa6bnekNzcex8iZk2WPCT7LvOaov5f4jKHA6NbNzMxUvnsKGH4BbwLw2GOPtbkAAJgjbs+ePa6ly5cThgg/+eST2gSSiDxsTz766KPa+AYQcyB2R959991ad59RBORnGC4m+MCYDYSC475gnQi48NjGfwhiW79f5uE8yaeeegqxFw7h+dkcvIio/0EKgNH421sAAFGucvb8efN///d/m/Pz8815eXnm48ePtytxjezsbI1ZWVnmrVu3djvu2LFjNyZ2xZvapBMAGD7uO0ZkIlgqNzc3ad++fea9e/eabTab9p/hsy987733zIgwbHznGX4DbwIARW8vAWDcHMAo582b16QhFu46XH8E9KBtiA23G8CbALSnB8C4OYAnhAVgMBOziQWge8ObALAH0PUAAUAwFnsADBaAbggpAOwBMLwKAFrOWQC6FiAATz/9NAsAw7sAsAfQ9QAB4EZAhgZvAsCNgF0P7AEwGsAC0P3QnADgviNIiAWgm0COBTAaP1cBui6a6wXAfWcPoBtBjgY0Gr8UACzmUFBQ4JMA5OXl9Th16pSKqaQwDVdUVJTPxCoyGDW4atWqNiPKRYTb+vXrCZ4Pfntubi4dOHAgD3MEOm5gIlI6kxXwzckYxZHzolKQOUs5lxmiFGbOUxyZcwXnKIXpsxRHukhTZymFabO0z9h2ZNal2mfkp32X5+54yXOCBWkhSs2BjT6H10IAEKILgzcZBAApIgExTRgLQDfA1q1bPQoAiPhuXwRAGH8AlvZCqCkGgaBOaRyM0xLKCUmQthXxgOOthymw8JDD1e3fv782LgDz4YkHPsP4e1qC62pWgOu91WpNjpkcWY9Q4ZbJdHHLNCrdMoOK02ZSyeYp5Fh3H5VsuI+K19xDJevupWLBErHtqM9zpIp0rchLEUy9V8sr1R3vECxKvoeKVwsm3UcF1sl0IfFBqt4b7qg9mKoYv1NzgABg7AX+E5NOAPC/I8WUYPX/h9LoREbXgzcBwCAPXwRg7969edOnT9eMV3zUypCjxPCAod4pU2mY+jwpAPL89iLKl/MEQhRuv/12wn9h8hGu3+0LrnlvvXpx7RwqjA6mysShVJU4XGO5dQhVxg+lSstQKo8KosqoQKqKGkhlUYNFOpiqowZQaVSASAdprNseqO2rO2aAOCdAcBBVYH9EgChnIJWHB1Fp+FAqXjaSioQIlO5c4qjNb7kIYDwEuneNAiC9Pk0AduwgzBDc6ERG14M3AfC1ChAXF6eN/TYZHiz5cMlUDknV72tvowfl9SAyss4L4cGQZCxdJaoB6SYfUHs0XanIDqWC6DuoLHYMOeMCyRkdRM6YIKrStgVjYMz9qDpSMLyvRmd4P0G5Xceq+jy5LffJc2ReZThEQIjJKiEEEePp0rrZ9Cc1006XPmhRdQBjAYxVAP190ARg+3YWgO4AowCYDMaC4Z6+CMDzL9UtNW5yY3w3m3rB0f9W+RlVlt///veqyQcU7opRLqSZqXj5aKpeFUhXwvtQjTDSWkFsOyMGkDNyoDDkQfVG36f1jB1MTosowyLKjO5D5ZGDqTxiFP0x+X669sE6+vbcQcX4/dwBHgDmeWhWALKyWAC6A7wJAHoBuooAeKL87WgT8FUAnDnxStHmF+nCijFUFjZEGLww0Mj+goPqjF+48M4oCACIN7obw24JIwXjRHnx/eiydQDVWPuINIAc8SOpdPMM+tPHm1SqYQ+A4SO8CYCvbQDuBMBd2f7I1giAKy+9hyNz0e4LsVOpOHocVccMo7K4ocL9H07lsUFUZhlGFTGiHh8p6vfhom4vPIHWsAqCEicYP4iqE0W1InEQVVqH0cXUO6nk7afp6vFIs/G7eQILAKMB3gTA1yoAZvw1CgDq9rJ+L3sF5PX0n3GezHf3fVpDX8rCuoS+CgBQc3ijuSw7lC4mKeSwjKcSwVJBh2Wctu2wjCVH7GgqTRwhPgsiTdBtI43XbbvZXyr2l8YJWoJEeSKNGUGX4iZSyRvP0+WjyaddedYWd2G2qArAjYDdA94EwNdGQMSYy+4kSTm9tJwa+uc//7lXLliwAFNQ2e+99171Rvnggw/aQ0JCHFOmTHGhsU//3fTEvHeffPKJ2vBjfMCfP8xNuvrORvWybaG9Yt8KKtu3khxvL7aX7npVrXjjJbVo29P1fEot2fa44E+17eptT4g0RPAJkTdHdWybq1Zqx9TtR55+f9HWp9XC9Lka/5D5onrt4DafGi0Bd3EATQQA3YAsAF0f3gTA1zgARJgZy5HE8lsvv/yyA5GF3lhZWWmrqalpUZ3WG+RCl7t27VIRA2By893AGxEACXLkB/z94vu2v/7xlO2vLWyV72iwB8BogDcB8LUNoDkBQB1beAg3ZGA3gv3796swcpOb7wa2hQB0BrAAMBrgTQB8rQJ4EgDkQQBeeOGFm2ZgEABj/Lue3UUAuBGQ0QBvAtAWjYCgvwgAewDuPQCwkQBwHED3gDcB8DUOoDkBQISgPwsA2ii6gwC48wBA9gC6IfQCYHJjtL62ATz/4gseBQD0ZwFAJODp06dv2vfrKHgSgEaDgVgAuge8CUBbVgH8XQAwDv6jjz66ad+vo+CpCiA/cyNgN4I3AfC1EZA9APdA9+A3n2cpjpwFiiNrgVKYPldxYs6AtLmKQ7Ci/jO2keIztr/7PEfbrhXbko4ss+L6IN3nrkZ3cQBgIwHgOIDuAW8C4GscwHPPd14PoGfPnu3iAVw/kx5w/cw2tfa4hS6+/jgVbvgpFabMpLI106kwaQY51ggmT6PytdOpOGm6lq8xaRqVJk8V2/dRRfIUcdw0urJuKjnXKeRMnU6laSFUfTjJ4TqZrhiv2RzYA2A0wJsA+NoG8Nzzz3daAWiPKsDf7R8E/+nERrVi60/pj5Z76Fz4CLqwagQVrxpGJauGUEmoSMOGUsnKQCpePlykg7X84hVDqXRlEJWtHCj2D6bS0CCqDBtIZdGBVB4RRNXhgVQqyvpq3SNU+osoh+tMmmK8tiewADAa4E0AulMVoE+fPqQK6M+5UbiOZipVtlByxAdTWcwoKhIGXBwWRCVRgpGBVBIu0nCkAcLwsR2gGXxJKIRggGBf8bmfxqrovlRlGUDVMYPrRhau6EMOyyT6atNsKj/8qtl4bU/w1AjYSAC4EbB7wJsA+NwI2ImrAO3hARTusioX0udTqWUkOS2B5EwYIdKhgkOoXHyusgRQhUgrRIrtstgAqowIEG/3fuRY1YfKV/al6uX9qWJlb+EF9BHGL0Qgsh9dEZ+vLO9FTrHvgvVuqj2RQN9+vksxXt8dWuQBcBxA94A3AfA1DqAzewC9evVq80bAioOpSskbi6nMOoac1iC6kjKMnIlBdYwfJIRAvMktIo3tVzfeXxi4MxqTiPSiytDe5Fx5G1Wu6klVK3tp25ct/akyIUAcJ46PEIIgvATHusn0p/etKl060KIGQfYAGA3wJgC+tgF0ZgFoj16A65/nKVd+lUzFaXdT5cYJVLVhnCYCV9ZACPrXze5jwWw/mPBDMKY+FQLgjLyVnGG30OVQka66RduuSehPV9YOo8vWgdo5pTHDqXxHCF3Nu7H5AEAWgG4IbwLgcxWA4wAagex5Pf780eakv7z7Gl3a9ACVbb6HKtYHU1nKSCpLGCaqBoKxgXWMGkylcUOoNFqksYJRA0VVYCCVhdWlGiNFNSFxKJXFiPMiBVdPpWvH4ugfjvfMxmt7QouqANwI2D3gTQC6eiOg/F5ge3gAElSwK+mb38So1Yfmq19smaX+PmWK+qV1hkgnC+KzZN3nApF+mTJD/cPqyepXSVPVr6yK+oc194vPM9Wv4u9Vz8eLfWseVv9+eF2bzAcAchxAN4Q3AejqcQB6AcBgpbb2APwRnjyARqHA7AF0D3gTAF/bAJqLA4Dx+YsA6A1f7wH85je/uWnfr6PgTgDkf4BtFoBuBG8C0JZVAH8aDmw0fhBtAN1BAIyNgPr/AJ+5EbAbwZsA+NwI2EwVwJ8FAHMW4sHvDgJg9ADcCgDHAXQPeBOAtowD8GcBQP2XPQD2ALodvAmAr20AnVkAuosHwALAaIA3AfC5CtBMHIA/CADm/jcaP4gpy7uLALSoCsCNgN0D3gSgrRoBQUwJ9sorr9D27dvzhLutgH369HFLm82mHjlyhMTD6pEt2X/s2DF666238kaOHKksW7bMrl+URE985+5SBTDGAbgVAI4D6B7wJgBtFQcA4oHDSrx4C4OYox9egZ633HKLlo+HsG/fvlp8PkbpgdhGHrrrwJbsxxh/+flHP/qRtgqw0fhB9gDYA+iW8CYAvrYBeIoDAGFk+odNrhZkpPG89qAnAeiOgUBuBQAegN2u6M9zOBzWs2fPhurzGJ0c3gSgtVUAd+WBRsNrjsZzb4TGco3Xkr0A3XFWYON/YxQAIYrK0aNHVavV6nruuedcoaGhKoRSCEKLRh8y/BjeBMDXRsAX573o8S1uNLqW0FhGa2gs0x3hjaC68Hu7XTV1cbTIA3jjDTpXUKD89re/paVLl9Lw4cO1SE5U4XDe2LFjKTU1FROosAh0ZngTAF/jAKKiorQHxeTGEPU0GqCRxuPbmnLFYnk9eACjRo2icxcuqKYujpZ4AHgu3n///Qzcz379+mmGD+J/klW3oUOH0ttvv+3Iz89XDJdgdBZ4EwBf2wD27dtHgwcPblKWvxHVFNkmIdseHnvsMSoqKgoxdXF4EwA0xIaFhdGKFSs040ceiP8MS6tBCLANTpkyhTIyMhwnT55UGl2E0TngTQB8rQKIByE0MjJSa9E3uTG8m028vfAWw8MPyof69ttvp+zsbBzT5WGsAoB6EcDzgLc7elHkcyH34f+CAMgl33HsXXfdRTt27LB/9tlnXB3obPAmAL42AgJ2uz1E1A/VZ5991oVuxIceekjjzJkzbzqnT59OkydP1nj33XfT1KlTEZvgOnTokCq+d7d4gI1xAJJ6ETB6BcY8fT6enzFjxtCWLVu4TaCzwZsA+BoHoMdXX30V+sUXX9jOnDnjN/z4449tH374YQNFlQX5ZuN378pw5wHo6cnQjZT5siqFhsG9e/c6xP+pfHc1hl/DmwD42gbA8H/4KgCSxihK43nYD69KeALcJtBZ4E0AWlMFYPg3jI2ARhoNXxq/NwEA0Z7ywAMP0M6dO7lNoDPAmwD42gjI8H+01AOQ20jR4IexHD/+8Y+0RkBPIoDjEG49ceJESktLIxYBP4c3AfA1DoDh/5CNgDBkkxsBAI1dpBif8fjjj9OC1xbQyJEjG3pS3J0HLwBCINsEOE7Aj+FNALgNoOsBHsDcuXM1oza5MX5QBkmh2w+DqNCDcvjwYfrkky8yNm3aRKNHj9YM3d1zIwmRQJyAeMa4YdBfIQXAZDB8Sa4CdD1s377d/PDDD2uGbTIYrbzvMuIP7jzq9MnJyRkwYrvd3uPXv/510tq1a7XYCTnuw5MQoNowY8YM2rNnj727dLN2KuzYsUPU637s9iEA0X8vbpzPAkD2/IDrH9mU63mpSu3BNco3B2OUb46GKtfz4xVXvtjOjxCMF5R5ESKNqd8Xqu1zNezrXMfjOOxD/rdnMhWy7/ObB3/rtq2hC15doN1zo9Hq3X4YP4554oknXJs3b24yAtDhcCTl5uaqgwYP0kK/5ZTi7ojy7rnnHjp69Cg+M/wJCN3Vh3vqjR+fFUWhDz74wCcBIHtuwJ/yt6k1B61Um72cqna+SleyX6bad56nr/f/jK7sf5muCdaK7dr9z4tt5L0o9r0iUjNdFdtXtbwXOuXx2EaeS/Cvx2Lpb/nr1OtqVoDxf+povPXWWyELF79GAUGDtPq7UQBkrD88QlQP4P0J47caimmEhYsXqePGjXPbHqAnvI1169axAPgbWiIAx48fb7EA/FXdF3z1SJpauvFpuhg3mYotk6gkfqxIx4h0DDkSRndxjqEy61jB0VSRPJqq19xPFRufpMrsJWbjf9WRyM7ONi9evNjRp29vzVhlHd9kMFTkw1hnzZpFcXFxSY0KcYPU1FTl5Zdf1lx9kxvDl0RVITo6mgXA39DWAlCRE6EUZ5qpMPIOqloRSBURg7T17KoiBlBVeH/Bfl2a1Sv7kjNMpKv6UrX43dUrB1FR6ASqWP+KvWan9aZUBXbt2qWEhq1wDR8xXDNwk+4+Y1t+hpFipqZ7770Xxp+Rnp7ew1BUEwijtgcFBXkcAi4Jj2Ljxo0sAP4GCMCAAQMa3Sz9w3Hffff5JAB/+3QnFW2YRo7oIHJG9iOnMIrKsAFUEd6XyoUYVEciHSgEoZ+2zn1ZfR5S5FVGimOFWFRHiLzIQVpaHll/vKDM044X51eKYysi64+/SeVXRvQRxt+HrqzsSc5VP6HLWNY7HCv89iNHZCAVh42lwuRHqTBtrmL8v9obb775ZuiyZcuof//+Ho1U3m80+Am3322d3wibzRYgXHo7Rn56qv8jH2XC40BA2alTp+yNCmHcfOzfv58GDhzo9oHAtu8CkEVF66ZQZWIAXbOKt2FUX6qKEsYS25+cMQOpOq4vVYjUGSPSuAHkjMY+sC6vPG6QSIXhxQhvIU4cHy2Ow75YnCeOjxPHxoAiT5RVHi2OF+dXivKRdzPK15b2jhKM6Fm3rHdE/WexvyphMBWGj6KilCfJkW5WjP9XeyIvLy9k0aJFmofnyUhB3Gs05KG1Pisry6ovwx1g/BaLRcVAKk/Tv0niuiNGjKD169erH3zwwU3xgBjNoK0F4JtPMzMcrz9OjsRRdDlRGL1FGIulX9169gnCYCwg8pFiHzjIkMptHGfMc5fe7OPFb4mBAMDwezYIQLkQmKqkYXTBOoHKdqyk2pw0xfh/tRcOHz5sXrJkicPbsGzcZ9Tf8YZuSZ1/586dwfHx8SqGALvrRjQSDYSLFy8+LYQloKEQhv8AAgD30GR4KForANc/ylGuHU6hi/H3UUlkkHCXhRcQ2afuTRmFbT37eUjd5SF1l+cPx/fVjP7Kil6a618Z1odKBR2i+lMSPZwK1s6m2vey6PqZPMX4f7UHcnJylNjYWBem8TIZDFJG6snPsp8/NTU1Q7zZvdb5k5OT7ePHj28IBza5MXoQ+1E9QDUhPT09QFcEw5/Q1h4A8I9P3gxx/iJSLc+e7yrf+hiVb5hN5RtnUXHaI1Qm6BAsESytT/EZ2512//qHqXTDw1S87kFtf1E9L2x9nK7uX0pfv5/h+vbzjgmH3bFjR6h482tTpMsGPyMhAjBQdPc9/PDDrm3btrW4zh8YGOj2OZGUwUPwEKxWK9f5/R0QgLZsBNSDCk+E/u+ZLJvr9Hqb69Rmwa3dix9n2ajgkI0uHTcb/5v2gLiXIWjwg6B7Mn4QAgAjvfPOO7328wNw36Ojo1X0DsjnQs6sZBQBVCfGCQ8h1hKr7tvnPwFQDA9oTwFgdBxQ53/11VcdWADFXZCPJPLR1YfRgKGhoUn6MtwBdf6YmBh1woQJWkOhfDbkdGryM/iDf/0BTVWmUERk5GlxToCxLIYfAgIwaNCgJg8JC0DnAfr5wyPDXAGBAY0M0qS7p/o5/BDbcejQoSYLf7hDbGys/Y477tCMH16DfPPL8uRgIWwPGzGELPFJdlQXjOUw/BRtHQfA6Figzv/z+T/T4vZRr5cRfkYBkG/+xx57zHX69GnV6XQqjUtqDBgxjB9Lrsn4Afnm15eP68HtR51/zZo1XOfvbGiPRkBGx+DECTUE03cPChigvZXloh24d1IMTPX3E2/wadOmUXx8vNVYjhH6Oj/K0AuAUVxwPUwIiuO3b9/Odf7OBhaAzgnU+VesCHUMGTJEewNLQ9ULAPLR5QfvAP38UVFRScZyjECdPzIyUkVXn7d+flwH1YOIiIjTubm5Ad+Vwug0aOs4AEb74+DBo0psfJwrMChQq9PLOrnRRcdbH/vxJhfueYv6+dHVh94B1PfdtfJLQmCwdgDcfg7y6cRoTw8A4+Cvf5SpuPJTlW8EkbY7j6ZqcxBgW6bI++Zo47xv8q11Y/ZPpgmK/Pw1ddsiH6n2fU+mK3TpgF+5tdnZ2aFYsUeO54fhS0M11d87eAMgBGD27Nktiu3HGxz99rI9SD4D7maLwjXvvf9uCl21kuv8nR3t0Q1IBXkBNflx5q+PJduvHY6kmtxldGXfUqret5yq31kiuKyOOYvrt5G35Mb35yyiK3sXUa1tETn3LKxL9y6kGttCurJHbO9+jWqzxTl7FlNtzny6kmOma79YSl/nLqznEvp6/3wt78q+RVSdG0Z//k26w/leqhkTnBh/Z0cD/fyLFy/WVuwxGe6V9ADkNgQCdf61a9dajeUYgUg9dPVhSm99I6IsSx9TIOv8CAfmfv4ugLYWANfv9gVfPZmhlr39M6rYPIWKUyZRSfIEKrYGU1nSRJGOJ4d1IpVo28FUap1UnxdMxSKvRGyXiv3YLkOe2O8QeSX1+0vFdrHY79CODRacVJ8XTOWJo6k47nbBMVQSN5pKYkdqn0vikIo8yyiRjqIisa84fox2vCN5FFWljKHKtWPE9miqWnc7Va4eTWVrx2rXu7jlKSrKXkLO46lm42/tSKDOj/H8xth+owBI48eCLi2J7d+4cWOwKFeFOy/X+5MeBVK5FqDs/oNIJCYmcp2/q6Ct4wAq8qxKkXjzXlh9N1UlBpIjJpCqYgdQFYbURjZO3eUhdZfXsuMx30D9vAPY1ob4DqhLkd+Qh9F+4nhLf6qJ70fO+P5Um9BfS68liu1kcVxCAFXFD6GLCRPpXPJMqv1lnP3v6s6b8sY7evSoEp8Y5woaEthwXyT1b2sYr34Ov5bW+THBp5wkBJTtCHLcAAjjh+eRkpJiZ+PvQmjrOIDLJ9+g/5M4VbxdR5IzoR99vaY31VgxGAjDY+uHyWL4LIg8pBhJd6P7Lb6xNqmP9r1cKb0b8euUPnQtRXzvlL5UkTCISiKH0aW4u6lw+3xy5EQoxt/b3hACHRoeHq411LprlJPReDBW1Pnnzp3rU2w/xF8OFUaqd/dBuSw45vkXb36u83c1tHUjoOtEplpgnU5lUUOoOqYv1cb3rDNaGGm7E8N1+xKGH9dRbiMFG++vsfalq6v7CoMXb/7VvenqmgGa4V9NGaSxKn4QlYYPocLISVSevphqd1kV4+9tT2A8P/r5MZ7fGHZr0t0rGC7cfix42tLx/PFWi3rf/fc1lCerEMbx/fAG4CEIEeJ+/q6IthYAzHpzcfUjVBR+u+aKX175E3Kuuq1uhpx2Znn0YG3IcWXUQKoSxHZF1Hd51VH9NVZEDdIm+dDG88f3pcvC0C/Hic/C/b8sBKI6cTBdESyLC6CK8JF0IfJOKtk6nypsMYrx97YXPvzwQ/OKFSscPXv2bHQ/jCmM/7bbbtPWb2hpbD8a8CZODBau/Xcr/Bgb+yQR4RcZGcnj+bsq2joOoDY/UyndH0cXEu6n0tiRVB42iCrDwf5UJlLnyl4irw9VCDpX9KJqYbiVob01Ylqt8lBMrdWrYT+Oxfj66pW9yRlWtx9lIK8srO5YbIOYogtCUB3eV6PcRqrN11efr+VhjgJtPL9II4QIrKr7TpfFdaojhXjEBlKVJZCKku+i4s1PUcW+6AxHXqjXOnVbAAtrirq2CyvwmAwGKe+NfFujfo7Y/o0bN7ZoDj9h/HYM7JGz+OrLk/dccsiwQK3Oz7H9XRht7QEAmA+g5kiSoypnAZW+PptKNs+i0g0PUfmGmVQiiBQsrk8dgqX122X1n/X75Xk4Rr+/SXnrH6Sy9TOoJHWGtl0kWCq2C0XqECwW2yX12471OEack/ogFaaIY5JnCortJGzPoCJxbNnrc4ThL3M53gn1WqduKyC2f9HiRYQ3v7s3Mu4LjBdEg9+zzz5Lx44dczkcDqVRQQagqy8iIsKOhjx9W4L+XsttXBcigbgAh6M63VgWowuhrbsBJTAG/h9nd9swD8C145YO4dW81bZrx+JEGiOYZLt6LMFWcyjadu09q+3qEcHDMWK/OO5IUt0x78XZHIdXi2Msgjg2STBO238tf7Xtf/57m40KDluNv629oKpqyNJlS6l3315NDF8S9wXuOsJ07598Px04cMAmjN+sK6YJ4L4vW7ZMxUo+xn5+dwIAcVkVFkaYWchYFqOLob0EgOEb0M+/dOlSh/FegLJ7Dtu4LxjVh0U7Fi1ZlKQvwx1kbD8a8tCaLxv7TG7utfz8Y1E+lowrKCxUGhXG6Hpo6zgAhu84ePCgEhUV5cIcevqRd0jltiSMH639wj1vUZ1/48aN9kmTJjX085sM4qK/10hxzK233EIZGRl07tw5RV8WowuireMAGL5h7969Wmz/LcLoTAZj14sAhAGj++bMmdOi2H403MH4vc3hp6cUAPQqbNqyhXhF324Ad42AIAtA+wOx/StXriRMuuGpbi7vA+r8WNG3pXP4xcbGauP5TR7uqzvK6/W49VbKyMxs0YxBjE4OFoCbA+F5mZcvX+5Aq7zsgzcavgzBxZsfsf1hYWFJxnKMQLBORESEGhwc3GTZd2+U18V4g0wWgO4Bd3EAIAtA+wGt6xaLxTVq1Ci3hi8pg3ywYk9L5+1HuC668GTkoMmNoXuivC6qI6+//joLQHdAe3oA2nwAJzO1MfjXD1pFukak8fWpVbcd37r9KFcSY/dV7wZysyGMWKvzu3P7ZQs98mH8eIO3NLY/Kz0rIDk5ye7pXurFQJZvFAh5HHsA3QjuugHBGxUA564FytdHku3XcsLo2ptL6OqbC6h250LBnwu+Vs/5VLsLedjn2/5rgl/vWkrX3l5C1/asoNqccPrm0NoM4/fwJyC2PzomShtPL1fW0RN50vDl7L0tje2PCI1QJ0+5r2Fgj576bkRcAx6fDAgyHgtiJV/0ArAAdAO0tQBgPgDn8U220s1POsqtU6jMEkxFceOpKHo8lYq02DKeSupZVJ8iDyytT1uyv1iUWyJYahlLjoRgKg6fQBXJc+jyLqvXt+XNAPr5Q0NDHT173aYZocmN4YEwVDT4YTIPX2L7sQaffskvT0SXYFxcnCYu6FI07gdZALoR3MUBgK0VgNqja5TK3UuoKOFOqooMpGpBbSx/9ACqjhKME8R2jMiT25gvINa3/RjPr80BEDFAG2dQsbw/VS0fSlXpL7qun9yeZPxeNxOI7U9ISHAFBQU1+Z/1RL0dRonW+5iYmAyr1eq1SoPYfkzg6eltrieEfsuWLfZ9+/YlhYSEeJz0kwWgG8FdHADYWgEoTAtRCpOnUUVMEF2J7kdXlvWiy8sFQ3vXjdrDIJ82YkVoH2H0vahyRW8q1wYTDaSSzTPJuS+sxd+3vYE5/DCeX9b5TW4MDsT/LWP7jxw54vX7I7YfE3JCVHCesT4Pok0BwoAgIHgI69ev18bzi/tpfuqpp7T5A4zngCwA3Qht3QhYmDpLCMA9VCHe2DWWXuSM6C/e0P3ockRvbV6AK2G9tG2NYb210XiXw3vXMbK3z/vLMeJvlTB+bVnu3lS0fjo5bEta/H3bE+jnxxx+qHN7M34Y3axZsxDb7/AW2w/jX7p0qQp3HsYPQzeG+IKoEsCjGDt2LDwKFdUFnA8BeOyxxzx2E7IAdCO0tQCcy5ynFGAUnmUIVVuEkSYNocvWwU1m5GlTYlYgS38qTwiiws0/JcehhBZ/3/YCxvOjzm+cw89I/M9wxadOnYr59ZOKiopCdMU0gYztRxeirMOjDKMAyNiC+unBGs3hxwLAaEBbxwE481KV0j3L6I+WCVSxKohKIwOpLCqAKiP7U1nkIO2Njm0Q2+UYey/SCm1ev35ULSjzWnI8xvRXirzSmED6Y/wEKrYttjvyrAHG79WRkLH9w4cPb/K/Gon/GWMAXn755Qyz2ey1zo9+fkzSIeftN7kpTwsb/v4PafiIoejPbzKHHwsAowFt7QEArhPrQirfXumoWDeXCpMVKl03nUpTp9eP359Bjg3TtLH9GO9fJrYxvr9uvP80La2bH2C62D+jfvz/DJE/XTvH/fkzqDT9MSrZvdhOhSdu6vh19PMvWbLEYwObJP5fEG9pBN688sorlJaW5rEHA119mJwDYiFXApJlyHslvQnU7Sc/cC+t37DF7Rx+LACMBrR1N6DEXz7MNf/PsQzbldwltqpfRNqcR6Lrx+1H21zHwxrG8LuOr9Rthzbadh2vO8d1PFIw3OP52v58sf3Bxps6Zx36+ZcvX95o3n5PlIaLtzUa6SAC8+bNI6z021BgPWRsv5y3H29+We9HWZJyngD0IgixUA8ccL+oCQsAowHuBED/VmmtAHQ3yH7+Xr16NXkzu6P+GBiu7AKcP38+RvuZZbmyzo9WfLj98lyjAMg83K+4uLjTzU3jxQLAaIC7OAAWAN+AOn94eLhr2LBhjQy7OQEAjceCAQEB9NJLLzk2bdqkNQainx+t+PrQXaSye09fFob+rl271uscfiwAjAa4iwNgAWg53n///dCIiAht0I6xXt6cALg7DimiBFEdeP755xEJqN0b6SHIY3EdGD/q+viM7XvuuUczft1X8wgWAEYD3DUCsgC0HPj/MN2WfjVdkd1ksA2MFG9yEK6+XizkMaDM+8lPfqIFD2FbLtkl90EQcD05OSiur+/n9wYWAEYDWABuDLLFX/bD6wUABgbDxZsaQ3pzc3MRipvxxBNPaG95vQvfHPX1fXkNlAsRueOOO2jVqlXN1vmNYAFgNMBdHAALQMvgcDjS0TIPY5dvfP0bXa6rh2MOHDhAX331VSjm8cOinYj6g6HJYyWNZYAwfhirUWRQPUA4sK+LdrAAMBrAHkDrcezYMRVdfvL/0v9vSGFgs2fPdqWkpDTp39++fXuS2Wx2oU/fWF0AIRz6Vn7Z9Yfj8Pa///77G2L7fQULAKMB3A3YOtgLCpTFS5bY9XVzk+4/hLEGBA6it956SzWc2oATJ06EYkkvNCDKFXlNBmM0jiGAYNx5552YIchjP783sAAwGsAC0Dqov/3t7meeecat0Ur+9LE5dOrUqWZj+48cOaLV490JgHzr6z/PnDmT1q1b51Od3wgWAEYDOA7AdzidTiUvL881adykJkYridV6rVYrtptFenq69v/r3/Ty/5d5SCEEGPorjreLawc0LsU3sAAwGnAz4gDIkdfjun2Xcv1kmvLNmXTl2zO7FDp3UEG+8Vh/xPnz57GKT5MZdeR/hnTixIl06NAhj3V0DNCJjY21DxkypNFb3kjZAIgBQGlpaR7L8wUsAIwGdGQjoOtQZsilrDBzTV6k7drRSLr2i4VUm7eE/nw0jv6ippNLfT3jW3u+YjzP37B161YzptRC/d9kMFb8bzCs+fPnw2CVxmfWAeP50W+PtfrcjejTE3V+HJeQkKAKsW5Vnd8IFgBGAzpCAL49k6X8+XCcrWSL2VGQ+gQVpUyliqQJVLVmlOAIKl89joo3KnQxcx5d/dV61/UPNpqNZfgLxNs/ODMzUzVWm0C5/BbGA2zatIlUVVX05xYUFFgP5x22vfTKK+rQoUObCIik/P9BZfoDCPK5oTq/ESwAjAa0dxwARui58mIdZRtnU2H8JCqyTKRSyyhyWoaQM2EgXbYGkTNpOJUmj6FC6x1UnDaDyrc+7vjrqU0qXWpdK3d7Ij8/X0lOTtbq+CaD4UgPAPMAiLd8hjCgHg6HI/jTTz9VrVar+vOf/9yF1X0guJ6MH5T/P6pmmZmve43t9xUQgCeffNLjJKIsAN0I7ekB/F3dGVx7cBUVJk8mR9RgKg0fSM6oAeSMDiBnjGCUoCWwEaviAqkybgSVpD9Ff87fSnTpgyYigLaCb9R05VzWIsV5fAtdfnc9VR/dQF//OoscWS8qtbZFiisvJsB4XlvgzV1vhirTprqtt+M/gxeAlXvfffddTOlNDz30EI0YMUIzKnfnGAkPAm0L6OrDBJ51V21bQAAwJ6Cn2YlZALoR2qsb8NvPc5Wv37XaL1oVKowcSRWY3Se8vzB+kUbVM7apAJRHDqbKmGFUEjWJyjaH0P+e3eugwu/aBa5/uNnsOhJnu/KLMPoq/Rk6b51ax2TBNVPIkf4IOXc8TeXZC23Xf5dl/u4btQ3yjuRR4JCARv+RnqjTY1QgGu0wOs+XFXpwHMYAYGAPPIa2qvMbwQLAaEB7CcCVEym7K3Y+TYUxo6kkZogQgMHC+IUARAjDj8a2YJw0fMwZCIrtmEFUDS9AiEZJ8gS6sm8x/b/fbXb87+l029W9S23X9r5GpWunUmnKJCpOvJ3KLSOoNHYYVVpHUNWakVS5ZjRVi+2ilClUvus1+r8nNzSJwrsRYIRec7P9yP/OXfy+8VjjPrjksp8/NTU1ANdrD+Tl5ZkxHsHTWAQWgG6E9ogD+PbzHKXmF4tdjg2TqDp5GFUJ464WVQBnrGDEAO3tXyE8gVJsW0B4AiC260VBHFsVLzyC16dTza4n6MquZ6h8/TRRFhYIGUrOhEFif3+qtvQT7Eu1yf2odm0Q1a4WImMZSA7LSLoQN4Eqsxe7rh1fm2T8jq0BYv8x244xOk9PT4buifr/Gl2CycnJ9vz8/ABTO+K9997TPAAWAEabxwFgfb7ag2HpVZvvpWsp/ena6j7iTd9PGLSo/2NRDxi2eMtXWUZTzepxVJ10O1UlBgljDtDe/HWeQB+6LHjN0ptc4vxrSX3E/oFUHRmgTQLqjMMxaEvoK8qFoAwUgjJYW4ikLHywYH8qiQ6gS1GBVBx/JxW+OT/PdabxxJitAcJ6MYrP5MZoboRojYewCKNrlzq/EewBMBrQ1o2AroPxSk22cNNXj6UryYOo1ioMNnpg3WIeUQOoPGEYla4RnkHmHPUvtqdtNTufViuy5lBh4jjh9qNqII4Vb/Wa2D70dVxP+jqhL11N6E9XhcFrC41E9BLVhLppwPGmhyhgQRBnOBoVRfUhfJAQgH5UFtWfyoSXURwzgi69MZ+cH+40G7+rLxBvf2XVqlV2T4tpuKO+KuDOM0Aff/8B/emhWQ/Txo0b263ObwR7AIwGtLUAXD31Rl7xujnCBR9FzuShmpE6heE6w4TBCuMs3XAXVWc9fdqVtygAx5Oa3uMvv07ZXfb6s+SIG02VMGYLGgnFm1+IQE1Sf7psHaK96Wvj+pAr5laqEd5BTaLwEuLFW19UF8piMO14gOZdOGPE+bH9NC8C6wVUrR5JJW++QjUfbjU3/qa+4ZNPPtk9d+5cj11nngjjl1UGOUcA4gSwDsBrr71GWZmZdCI///SZM2cCtAt1AFgAGA2QcQD6N9SNCMC1j3ZTYdJUYZTDRH1cvLXX1C8Mgl6AmOFUnvkIXT+d3qi862pWwF9OrM678sYzVGUdSuX1AnBFGPDlxL50bU0/rSrxdYIQgIRb6WtRJfg6WQjEalEFSB5GzsTh5EwaSpeF4NRVHW6ja1bs701VW6dS7a+WnXbZb2zp8JycnN1YiUcas7s3upE4BkYGw0eLOyb2nPfM07R961bK2b8/IzMzU/n8ozOK8C4C5HU6AlwFYDQg95e/1Cai1Bv9jQhAzantdC51lvAAArUGuStrh2m8bB1GjjXjqDxrvmo8R+L/frIp4/KuZ6go5W7hwgcJ1x7dhn21HoPqiH5UFd2HKuMHirf6cKpOvZ2qXp9KV95+mr7OWeAq3zZHLd/xqKskZQKVWEZQoahmlKTdTX87tsLl+sTzfPstxcGDB3djxV6TzrhBCIK+UVBO9QVPAZ4VYgIwa9CWLVscH330kcff3pGQ3YAsAH4O4XaGwF3DlNPeiJvaGm574w1NAPSu6o0IwPXP96olb5jpojWYytcM14y1cu0ociSMp9KNs+l/T6ZZjefo8bffpKiV2fPpUuL9VBgxkiqXDaDSFQOpXKSO5YF0MWYcFax5gKp3v0SuX7ya948vttvo0nEzzr12whLqzF1JlzKeo4KMeVR2OJyoILvZ67UUWOoLkXxy2C7e6vi/0M8vu/tg9GjJRwwAFvoQhp937Ngx2x/+8Acb2hCMZd4ssAfgx0Do6BdffGGLjo62mc1mB+qdWDACq8Zi/Plzzz3X8BkzxyKVeSCU3RdOnjxZ69duqyqAS9Tpne8m7i7NfpFKMqZR4eo7qGjDA3Qx43FyHk5Cmc0CvQh//XCzuTonQi3fupCK1j5KF5NnUqF1OhWte4xKc0Kp5vja0ziGzjSdCusfX+aaXfnp5pr8zWbX2b1m4/4bwalTp9QpU6ZoBiIDfGD0/fr1o+DgYFq4cKG2FNfatWvNqqqahQEFGMvwB7AA+DGwMkxiYiKNHDlSizdH3REzwIJ42NCIJD9jG3lyH4ib6gtRvnRbTW0gAIArPzXgb59szLt2PJ4uvSm8gexXqTovMaNWzVKMx3qCEJJgZ84a5fLhlNBvPsymq3kbMwqzzIozP02hghvv0msNIM7CI6MVK1Zob3kYPdz7zenptH3nTq1OL4ymQ1rybwTcCOinwAOWsjZFCweVRtiRNLWRAHQHiHuVJKga8zsD2APwU4gHKvTxkMcbzTDbkTS5eRhYALoe2APwY2B+OKNhdhRNbh4GFoCuBxYAP8b4iWObGKaRJjc3DTQe5yuN5YEsAF0PXAXwY4ybOKaJYeopJ4jEtgwzlY14raHJzQOgJwtA1wO6f9kD8FN4EgBp6Gi1RyMhbhLmk+/Zs6fGW2+9VctDzwG69UB8Roo8EBNNGPfLJaZMbh4EEGPThcvIAtCFwB6AH8OTAMBQccMQYLJlyxaNmHcO00qnpaU1fMaNk/uxb/PmzVoKIs+4HwtTYFCKJ48Ao9RYALoWWAD8GM0JAPr5N2zYYP/8888V8MyZM+h31lL9Z1+YmZmpDU4xxgJIwgMQDwwLQBcCNwL6KdCvjPnkxWYTAUAe3P+tW7eqxvNuBNu3b29WAOABIJy18VmMzgx4ACEhIR4nJmUBuEloTgBAjEXHuHHjeTcCVB/kUtXuJq3kNoCuBzQCYlpwT2sSoH2IBeAmAAKAN67JgwCgCoDJIo3n3QiEoGgCYHLzIOCaiH3nXoCuhX379pkx96AnAYAH8Pq2bWQ/d07Rn8doZyAUePr06U0MXxJVAIvF4iouLk4ynttaREREaOWifJMbAcA69h9//DELQBdCZGSkefTo0Y26j0319xtpz9496e09b1OhH41g7DZA3Uw/QEdP1Nkw+g+jBY3ntQafffZZsH6Mu5G45pw5c1xnz5694fH0DP+AzWbrsXDhwnSMYNQbPyhD0DE8fP/+/Q68kIznM9oZCQkJWp++DPYxEotMoCHQ0QazyBw8eFAdPHhwE8OXxHeYN2+eqj+H0bkRHx+vvPTSS1pMiN74sS1HkyL4a/PmzWbDqYyOwIGDv2y08ISR6LM3m82ESUCM5/qC3/3ud+b58+c7mpvjDo1BqampLABdCOLlkQf3310PADwANDRDIDABSqMTGR2DXbt2hT748IMePQBUDbCw5KZNm+xw4Y3ntwSIGcjMzHSNHz++yUOgJ1zBd999lwWgi0B4jemYPAaNfO4aAPFsYX7Il19++bTdbr+hORQZrQRWlF23bp0W7uuuHUByzJgxlLVrF32mqj6JAIKFwsLC0r0tTY12CMxApD+X0TkhDL+HeFmoclWj5u77zAdn0iEO/Lp5QN3+wIEDKuphctopI8VhWl0NQ4d373zLkZubqxjLcYcTJ06E7Ny5U5uSGlUJd/3+knj7JyQk5OnPZ3Q+nD9/3pyfn29bunSptgKUpyXBwe/9y/do0fKFjrMFBWZdEYyOxtmzZ81oDESEnn5yEJPhhmEf6nPPP/+8Qxi2raCgwNa4pDocPXpUydiaYXvhpRccQUFB2hRiIrvZQUCoB6alpSnflcLoTBAuvFk8R7YdWTvoqblParEeciSpSXef9c/V2DFjCfMeNiqI0fGAF3D48OE89MEb+2r1RB5uKG4uqgRw2efPn6+uWbNG3bZtm2qxWNTZs2erISEhDgQYYfSgp7L05WF0oTgXXUF2QZXZOWiz2dQtW7aoMTExqnjju+bMmUMDBw6gH/ygbhVgd/cd9xsNwRglunbtWuKuPz/Cpk2bMoYPH+7RCzBWDWQrLurvoLEhUX+ukdgvRwXKBwIp8uQkpChb5oG8v/326ydubSnxImjOxXdH3G+chyoCJjU1MfwLycnJhL56o7G7Ix4eiAAM3928giY3D4CeRsFg3jwa701LKO+7Mb85wvjhKRw6dEi9dOkSv/39DZ9++mlGUlKStsqMsc5ufGgkPQmAu4dLn+fpGGbXJDwODAvOysrq0LUJGT4A/bH5+flJcXFxWiuuSXcDjYatZ3NdiO7orjz9tZhdg3g5oLoBbxFrG+zbt88unq8AE8P/gTaBB6Y+QP/5Xz/UbqbRYJldj7jPraGnc9G1jHal6OhotPjbTYzOhUPvHlLnL/iZFg2IBh/jA+PpwTHul3MMGvObY2vaCHw9R3ZVGfObI85pzW9pzTnGPG9szTltRf39R5UQ3cqPPvqotlApRnhyi38nBKK6RH3N/M4776CbjyZMmEB9+/bVBnfIh83kRvkl5cPRUQbQXFuEJ/p6HX8WgNb8/rYiro0uXSwzh1GkmzIyKDs721xQUKB890QxOiUqKyuDEeCTkpISumvXLlq1ahU99NBDdP/99xNi/DFqcNiwYcxOSNw7EEFecNcR4+ErMcz7hRde0Gb22bNnz+nU1FRF/egjxfgcMboYzp8/H/zll1+qvz9/Xj3/1VfqVwYWFRWhu0e9cOGCto20sLBQo3gz8P4ust/Bk3kwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDAaDwWAwGAwGg8FgMBgMBoPBYDAYDN/x/wHjsXZ4EUApzgAAAABJRU5ErkJggg==";
|
|
3342
2915
|
|
|
3343
2916
|
// src/components/WalletModalContent/index.tsx
|
|
3344
|
-
var
|
|
2917
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
3345
2918
|
function WalletModalContent({
|
|
3346
2919
|
status,
|
|
3347
2920
|
error,
|
|
@@ -3352,7 +2925,7 @@ function WalletModalContent({
|
|
|
3352
2925
|
address,
|
|
3353
2926
|
connected
|
|
3354
2927
|
}) {
|
|
3355
|
-
const pageData = (0,
|
|
2928
|
+
const pageData = (0, import_react21.useMemo)(() => {
|
|
3356
2929
|
if (status == "success") {
|
|
3357
2930
|
return {
|
|
3358
2931
|
btnText: "Disconnect Wallet",
|
|
@@ -3411,12 +2984,12 @@ function WalletModalContent({
|
|
|
3411
2984
|
statusImage: walletConnectImage
|
|
3412
2985
|
};
|
|
3413
2986
|
}, [visible, connected, status, error, address]);
|
|
3414
|
-
return /* @__PURE__ */ (0,
|
|
3415
|
-
/* @__PURE__ */ (0,
|
|
3416
|
-
/* @__PURE__ */ (0,
|
|
3417
|
-
/* @__PURE__ */ (0,
|
|
2987
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: `matchid-wallet-box`, children: [
|
|
2988
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: `matchid-wallet-content`, children: [
|
|
2989
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("img", { src: pageData.statusImage }),
|
|
2990
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: pageData.isError ? "text-[#F7585E]" : "", children: pageData.text })
|
|
3418
2991
|
] }),
|
|
3419
|
-
/* @__PURE__ */ (0,
|
|
2992
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
3420
2993
|
Button,
|
|
3421
2994
|
{
|
|
3422
2995
|
block: true,
|
|
@@ -3431,7 +3004,7 @@ function WalletModalContent({
|
|
|
3431
3004
|
}
|
|
3432
3005
|
|
|
3433
3006
|
// src/components/SOLModal/index.tsx
|
|
3434
|
-
var
|
|
3007
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
3435
3008
|
function WalletContent({
|
|
3436
3009
|
onSuccess,
|
|
3437
3010
|
type
|
|
@@ -3439,17 +3012,17 @@ function WalletContent({
|
|
|
3439
3012
|
const { setVisible, visible } = (0, import_wallet_adapter_react_ui.useWalletModal)();
|
|
3440
3013
|
const wallet = (0, import_wallet_adapter_react.useWallet)();
|
|
3441
3014
|
const { events, login } = useMatch();
|
|
3442
|
-
const [status, setStatus] = (0,
|
|
3443
|
-
const statusRef =
|
|
3444
|
-
const [error, setError] = (0,
|
|
3445
|
-
(0,
|
|
3015
|
+
const [status, setStatus] = (0, import_react22.useState)("");
|
|
3016
|
+
const statusRef = import_react22.default.useRef(status);
|
|
3017
|
+
const [error, setError] = (0, import_react22.useState)("");
|
|
3018
|
+
(0, import_react22.useEffect)(() => {
|
|
3446
3019
|
const init = async () => {
|
|
3447
3020
|
await wallet.disconnect();
|
|
3448
3021
|
setVisible(true);
|
|
3449
3022
|
};
|
|
3450
3023
|
init();
|
|
3451
3024
|
}, []);
|
|
3452
|
-
(0,
|
|
3025
|
+
(0, import_react22.useEffect)(() => {
|
|
3453
3026
|
if (wallet.connected) {
|
|
3454
3027
|
console.log("wallet.connected", wallet.connected);
|
|
3455
3028
|
toLoginInWallet();
|
|
@@ -3513,7 +3086,7 @@ function WalletContent({
|
|
|
3513
3086
|
statusRef.current = "";
|
|
3514
3087
|
}
|
|
3515
3088
|
};
|
|
3516
|
-
return /* @__PURE__ */ (0,
|
|
3089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
3517
3090
|
WalletModalContent,
|
|
3518
3091
|
{
|
|
3519
3092
|
connected: wallet.connected,
|
|
@@ -3573,20 +3146,20 @@ function SOLConnectModal({
|
|
|
3573
3146
|
onSuccess,
|
|
3574
3147
|
...props
|
|
3575
3148
|
}) {
|
|
3576
|
-
const intl = (0,
|
|
3577
|
-
return /* @__PURE__ */ (0,
|
|
3149
|
+
const intl = (0, import_react_intl11.useIntl)();
|
|
3150
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
3578
3151
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
3579
3152
|
}, {
|
|
3580
3153
|
name: "SOL"
|
|
3581
|
-
}), children: /* @__PURE__ */ (0,
|
|
3154
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wallet_adapter_react.ConnectionProvider, { endpoint: (0, import_web3.clusterApiUrl)("devnet"), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wallet_adapter_react.WalletProvider, { wallets, autoConnect: true, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_wallet_adapter_react_ui.WalletModalProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(WalletContent, { onSuccess, type }) }) }) }) });
|
|
3582
3155
|
}
|
|
3583
3156
|
function SOLModal(props) {
|
|
3584
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
3157
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(SOLConnectModal, { ...props });
|
|
3585
3158
|
}
|
|
3586
3159
|
|
|
3587
3160
|
// src/components/TRONModal/index.tsx
|
|
3588
|
-
var
|
|
3589
|
-
var
|
|
3161
|
+
var import_react24 = __toESM(require("react"));
|
|
3162
|
+
var import_react_intl12 = require("react-intl");
|
|
3590
3163
|
|
|
3591
3164
|
// src/lib/tron/TronLinkAdapter.ts
|
|
3592
3165
|
var TronLinkAdapter = class {
|
|
@@ -3619,7 +3192,7 @@ var TronLinkAdapter = class {
|
|
|
3619
3192
|
};
|
|
3620
3193
|
|
|
3621
3194
|
// src/hooks/useTRONWallet.ts
|
|
3622
|
-
var
|
|
3195
|
+
var import_react23 = require("react");
|
|
3623
3196
|
|
|
3624
3197
|
// src/lib/tron/BitgetAdapter.ts
|
|
3625
3198
|
var BitgetAdapter = class {
|
|
@@ -3664,9 +3237,9 @@ var OKXAdapter = class {
|
|
|
3664
3237
|
// src/hooks/useTRONWallet.ts
|
|
3665
3238
|
var useTRONWallet = () => {
|
|
3666
3239
|
const wallets2 = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
3667
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
3668
|
-
const [address, setAddress] = (0,
|
|
3669
|
-
(0,
|
|
3240
|
+
const [installedWallets, setInstalledWallets] = (0, import_react23.useState)([]);
|
|
3241
|
+
const [address, setAddress] = (0, import_react23.useState)(null);
|
|
3242
|
+
(0, import_react23.useEffect)(() => {
|
|
3670
3243
|
const getInstalled = async () => {
|
|
3671
3244
|
const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
3672
3245
|
wallet: wallet2,
|
|
@@ -3676,11 +3249,11 @@ var useTRONWallet = () => {
|
|
|
3676
3249
|
};
|
|
3677
3250
|
getInstalled();
|
|
3678
3251
|
}, []);
|
|
3679
|
-
const [wallet, chooseWallet] = (0,
|
|
3252
|
+
const [wallet, chooseWallet] = (0, import_react23.useState)(null);
|
|
3680
3253
|
const onConnect = async () => {
|
|
3681
3254
|
setAddress(await wallet.connect());
|
|
3682
3255
|
};
|
|
3683
|
-
(0,
|
|
3256
|
+
(0, import_react23.useEffect)(() => {
|
|
3684
3257
|
if (!wallet) {
|
|
3685
3258
|
setAddress(null);
|
|
3686
3259
|
}
|
|
@@ -3696,25 +3269,25 @@ var useTRONWallet = () => {
|
|
|
3696
3269
|
};
|
|
3697
3270
|
|
|
3698
3271
|
// src/components/TRONModal/index.tsx
|
|
3699
|
-
var
|
|
3272
|
+
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
3700
3273
|
function TRONConnectModal({
|
|
3701
3274
|
type = "login",
|
|
3702
3275
|
onSuccess,
|
|
3703
3276
|
...props
|
|
3704
3277
|
}) {
|
|
3705
3278
|
const isDownMd = useDownMd();
|
|
3706
|
-
const intl = (0,
|
|
3279
|
+
const intl = (0, import_react_intl12.useIntl)();
|
|
3707
3280
|
const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useTRONWallet();
|
|
3708
3281
|
const iconMaps = {
|
|
3709
|
-
tronlink: /* @__PURE__ */ (0,
|
|
3710
|
-
bitget: /* @__PURE__ */ (0,
|
|
3711
|
-
okx: /* @__PURE__ */ (0,
|
|
3282
|
+
tronlink: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(TronLinkIcon, { size: isDownMd ? 36 : 40 }),
|
|
3283
|
+
bitget: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(BitgetIcon, { size: isDownMd ? 36 : 40 }),
|
|
3284
|
+
okx: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
3712
3285
|
};
|
|
3713
3286
|
const { events, login } = useMatch();
|
|
3714
|
-
const [status, setStatus] = (0,
|
|
3715
|
-
const statusRef =
|
|
3716
|
-
const [error, setError] = (0,
|
|
3717
|
-
const connected = (0,
|
|
3287
|
+
const [status, setStatus] = (0, import_react24.useState)("");
|
|
3288
|
+
const statusRef = import_react24.default.useRef(status);
|
|
3289
|
+
const [error, setError] = (0, import_react24.useState)("");
|
|
3290
|
+
const connected = (0, import_react24.useMemo)(() => {
|
|
3718
3291
|
return !!address;
|
|
3719
3292
|
}, [address]);
|
|
3720
3293
|
const disconnect = async () => {
|
|
@@ -3782,7 +3355,7 @@ function TRONConnectModal({
|
|
|
3782
3355
|
statusRef.current = "";
|
|
3783
3356
|
}
|
|
3784
3357
|
};
|
|
3785
|
-
(0,
|
|
3358
|
+
(0, import_react24.useEffect)(() => {
|
|
3786
3359
|
if (wallet) {
|
|
3787
3360
|
console.log("onConnect");
|
|
3788
3361
|
onConnect();
|
|
@@ -3790,21 +3363,21 @@ function TRONConnectModal({
|
|
|
3790
3363
|
setStatus("");
|
|
3791
3364
|
}
|
|
3792
3365
|
}, [wallet]);
|
|
3793
|
-
(0,
|
|
3366
|
+
(0, import_react24.useEffect)(() => {
|
|
3794
3367
|
if (address) {
|
|
3795
3368
|
toLoginInWallet();
|
|
3796
3369
|
}
|
|
3797
3370
|
}, [address]);
|
|
3798
|
-
(0,
|
|
3371
|
+
(0, import_react24.useEffect)(() => {
|
|
3799
3372
|
if (!props.isOpen) {
|
|
3800
3373
|
disconnect();
|
|
3801
3374
|
}
|
|
3802
3375
|
}, [props.isOpen]);
|
|
3803
|
-
return /* @__PURE__ */ (0,
|
|
3376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
3804
3377
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
3805
3378
|
}, {
|
|
3806
3379
|
name: "TRON"
|
|
3807
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0,
|
|
3380
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3808
3381
|
WalletModalContent,
|
|
3809
3382
|
{
|
|
3810
3383
|
error,
|
|
@@ -3817,9 +3390,9 @@ function TRONConnectModal({
|
|
|
3817
3390
|
setVisible: () => {
|
|
3818
3391
|
}
|
|
3819
3392
|
}
|
|
3820
|
-
) : /* @__PURE__ */ (0,
|
|
3393
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "matchid-login-recommend-list", children: [
|
|
3821
3394
|
installedWallets.map((wallet2) => {
|
|
3822
|
-
return /* @__PURE__ */ (0,
|
|
3395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3823
3396
|
RecommendItem,
|
|
3824
3397
|
{
|
|
3825
3398
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -3832,14 +3405,14 @@ function TRONConnectModal({
|
|
|
3832
3405
|
);
|
|
3833
3406
|
}),
|
|
3834
3407
|
wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
3835
|
-
return /* @__PURE__ */ (0,
|
|
3408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
|
|
3836
3409
|
RecommendItem,
|
|
3837
3410
|
{
|
|
3838
3411
|
icon: iconMaps[wallet2.walletKey],
|
|
3839
3412
|
name: wallet2.name,
|
|
3840
3413
|
onClick: () => {
|
|
3841
3414
|
},
|
|
3842
|
-
footer: /* @__PURE__ */ (0,
|
|
3415
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { size: "sm", onClick: () => {
|
|
3843
3416
|
window.open(wallet2.website);
|
|
3844
3417
|
}, children: "Install" })
|
|
3845
3418
|
},
|
|
@@ -3849,28 +3422,28 @@ function TRONConnectModal({
|
|
|
3849
3422
|
] }) }) });
|
|
3850
3423
|
}
|
|
3851
3424
|
function TRONModal(props) {
|
|
3852
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
3425
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(TRONConnectModal, { ...props, type: "" });
|
|
3853
3426
|
}
|
|
3854
3427
|
|
|
3855
3428
|
// src/components/TONModal/index.tsx
|
|
3856
|
-
var
|
|
3857
|
-
var
|
|
3429
|
+
var import_react25 = __toESM(require("react"));
|
|
3430
|
+
var import_react_intl13 = require("react-intl");
|
|
3858
3431
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
3859
|
-
var
|
|
3432
|
+
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
3860
3433
|
function WalletContent2({
|
|
3861
3434
|
onSuccess,
|
|
3862
3435
|
type
|
|
3863
3436
|
}) {
|
|
3864
3437
|
const { events, login } = useMatch();
|
|
3865
|
-
const [connected, setConnected] = (0,
|
|
3438
|
+
const [connected, setConnected] = (0, import_react25.useState)(false);
|
|
3866
3439
|
const wallet = (0, import_ui_react.useTonWallet)();
|
|
3867
3440
|
const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
|
|
3868
3441
|
const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
|
|
3869
3442
|
const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
|
|
3870
|
-
const [status, setStatus] = (0,
|
|
3871
|
-
const statusRef =
|
|
3872
|
-
const [error, setError] = (0,
|
|
3873
|
-
(0,
|
|
3443
|
+
const [status, setStatus] = (0, import_react25.useState)("");
|
|
3444
|
+
const statusRef = import_react25.default.useRef(status);
|
|
3445
|
+
const [error, setError] = (0, import_react25.useState)("");
|
|
3446
|
+
(0, import_react25.useEffect)(() => {
|
|
3874
3447
|
const init = async () => {
|
|
3875
3448
|
if (wallet) {
|
|
3876
3449
|
await tonConnectUI.disconnect();
|
|
@@ -3943,7 +3516,7 @@ function WalletContent2({
|
|
|
3943
3516
|
}
|
|
3944
3517
|
});
|
|
3945
3518
|
}, []);
|
|
3946
|
-
(0,
|
|
3519
|
+
(0, import_react25.useEffect)(() => {
|
|
3947
3520
|
if (wallet) {
|
|
3948
3521
|
setConnected(true);
|
|
3949
3522
|
console.log("Wallet connected:", wallet);
|
|
@@ -3954,7 +3527,7 @@ function WalletContent2({
|
|
|
3954
3527
|
setStatus("");
|
|
3955
3528
|
}
|
|
3956
3529
|
}, [wallet]);
|
|
3957
|
-
(0,
|
|
3530
|
+
(0, import_react25.useEffect)(() => {
|
|
3958
3531
|
console.log({
|
|
3959
3532
|
state,
|
|
3960
3533
|
wallet
|
|
@@ -3983,7 +3556,7 @@ function WalletContent2({
|
|
|
3983
3556
|
}
|
|
3984
3557
|
}
|
|
3985
3558
|
}, [state]);
|
|
3986
|
-
return /* @__PURE__ */ (0,
|
|
3559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
3987
3560
|
WalletModalContent,
|
|
3988
3561
|
{
|
|
3989
3562
|
connected,
|
|
@@ -4014,28 +3587,28 @@ function TONConnectModal({
|
|
|
4014
3587
|
onSuccess,
|
|
4015
3588
|
...props
|
|
4016
3589
|
}) {
|
|
4017
|
-
const intl = (0,
|
|
3590
|
+
const intl = (0, import_react_intl13.useIntl)();
|
|
4018
3591
|
const { endpoints, appid } = useLocalStore_default();
|
|
4019
3592
|
const manifestUrl = `${endpoints.back}api/v1/wallet/ton?appid=${appid}&url=` + encodeURIComponent(window.location.origin);
|
|
4020
|
-
return /* @__PURE__ */ (0,
|
|
3593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4021
3594
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4022
3595
|
}, {
|
|
4023
3596
|
name: "TON"
|
|
4024
|
-
}), children: /* @__PURE__ */ (0,
|
|
3597
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
4025
3598
|
import_ui_react.TonConnectUIProvider,
|
|
4026
3599
|
{
|
|
4027
3600
|
manifestUrl,
|
|
4028
|
-
children: /* @__PURE__ */ (0,
|
|
3601
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(WalletContent2, { onSuccess, type })
|
|
4029
3602
|
}
|
|
4030
3603
|
) });
|
|
4031
3604
|
}
|
|
4032
3605
|
function TONModal(props) {
|
|
4033
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
3606
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TONConnectModal, { ...props });
|
|
4034
3607
|
}
|
|
4035
3608
|
|
|
4036
3609
|
// src/components/BTCModal/index.tsx
|
|
4037
|
-
var
|
|
4038
|
-
var
|
|
3610
|
+
var import_react27 = __toESM(require("react"));
|
|
3611
|
+
var import_react_intl14 = require("react-intl");
|
|
4039
3612
|
|
|
4040
3613
|
// src/lib/btc/UnisatAdapter.ts
|
|
4041
3614
|
var UnisatAdapter = class {
|
|
@@ -4183,12 +3756,12 @@ var LeatherAdapter = class {
|
|
|
4183
3756
|
};
|
|
4184
3757
|
|
|
4185
3758
|
// src/hooks/useBTCWallet.ts
|
|
4186
|
-
var
|
|
3759
|
+
var import_react26 = require("react");
|
|
4187
3760
|
var useBTCWallet = () => {
|
|
4188
3761
|
const wallets2 = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter()];
|
|
4189
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
4190
|
-
const [address, setAddress] = (0,
|
|
4191
|
-
(0,
|
|
3762
|
+
const [installedWallets, setInstalledWallets] = (0, import_react26.useState)([]);
|
|
3763
|
+
const [address, setAddress] = (0, import_react26.useState)(null);
|
|
3764
|
+
(0, import_react26.useEffect)(() => {
|
|
4192
3765
|
const getInstalled = async () => {
|
|
4193
3766
|
const installed = await Promise.all(wallets2.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
4194
3767
|
wallet: wallet2,
|
|
@@ -4198,11 +3771,11 @@ var useBTCWallet = () => {
|
|
|
4198
3771
|
};
|
|
4199
3772
|
getInstalled();
|
|
4200
3773
|
}, []);
|
|
4201
|
-
const [wallet, chooseWallet] = (0,
|
|
3774
|
+
const [wallet, chooseWallet] = (0, import_react26.useState)(null);
|
|
4202
3775
|
const onConnect = async () => {
|
|
4203
3776
|
setAddress(await wallet.connect());
|
|
4204
3777
|
};
|
|
4205
|
-
(0,
|
|
3778
|
+
(0, import_react26.useEffect)(() => {
|
|
4206
3779
|
if (!wallet) {
|
|
4207
3780
|
setAddress(null);
|
|
4208
3781
|
}
|
|
@@ -4218,25 +3791,25 @@ var useBTCWallet = () => {
|
|
|
4218
3791
|
};
|
|
4219
3792
|
|
|
4220
3793
|
// src/components/BTCModal/index.tsx
|
|
4221
|
-
var
|
|
3794
|
+
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
4222
3795
|
function BTCConnectModal({
|
|
4223
3796
|
type = "login",
|
|
4224
3797
|
onSuccess,
|
|
4225
3798
|
...props
|
|
4226
3799
|
}) {
|
|
4227
3800
|
const isDownMd = useDownMd();
|
|
4228
|
-
const intl = (0,
|
|
3801
|
+
const intl = (0, import_react_intl14.useIntl)();
|
|
4229
3802
|
const { wallets: wallets2, installedWallets, chooseWallet, wallet, address, onConnect } = useBTCWallet();
|
|
4230
3803
|
const iconMaps = {
|
|
4231
|
-
leather: /* @__PURE__ */ (0,
|
|
4232
|
-
unisat: /* @__PURE__ */ (0,
|
|
4233
|
-
xverse: /* @__PURE__ */ (0,
|
|
3804
|
+
leather: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(LeatherIcon, { size: isDownMd ? 36 : 40 }),
|
|
3805
|
+
unisat: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(UnisatIcon, { size: isDownMd ? 36 : 40 }),
|
|
3806
|
+
xverse: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(XverseIcon, { size: isDownMd ? 36 : 40 })
|
|
4234
3807
|
};
|
|
4235
3808
|
const { events, login } = useMatch();
|
|
4236
|
-
const [status, setStatus] = (0,
|
|
4237
|
-
const statusRef =
|
|
4238
|
-
const [error, setError] = (0,
|
|
4239
|
-
const connected = (0,
|
|
3809
|
+
const [status, setStatus] = (0, import_react27.useState)("");
|
|
3810
|
+
const statusRef = import_react27.default.useRef(status);
|
|
3811
|
+
const [error, setError] = (0, import_react27.useState)("");
|
|
3812
|
+
const connected = (0, import_react27.useMemo)(() => {
|
|
4240
3813
|
return !!address;
|
|
4241
3814
|
}, [address]);
|
|
4242
3815
|
const disconnect = async () => {
|
|
@@ -4300,7 +3873,7 @@ function BTCConnectModal({
|
|
|
4300
3873
|
statusRef.current = "";
|
|
4301
3874
|
}
|
|
4302
3875
|
};
|
|
4303
|
-
(0,
|
|
3876
|
+
(0, import_react27.useEffect)(() => {
|
|
4304
3877
|
if (wallet) {
|
|
4305
3878
|
console.log("onConnect");
|
|
4306
3879
|
try {
|
|
@@ -4313,12 +3886,12 @@ function BTCConnectModal({
|
|
|
4313
3886
|
setStatus("");
|
|
4314
3887
|
}
|
|
4315
3888
|
}, [wallet]);
|
|
4316
|
-
(0,
|
|
3889
|
+
(0, import_react27.useEffect)(() => {
|
|
4317
3890
|
if (address) {
|
|
4318
3891
|
toLoginInWallet();
|
|
4319
3892
|
}
|
|
4320
3893
|
}, [address]);
|
|
4321
|
-
(0,
|
|
3894
|
+
(0, import_react27.useEffect)(() => {
|
|
4322
3895
|
if (!props.isOpen) {
|
|
4323
3896
|
disconnect();
|
|
4324
3897
|
}
|
|
@@ -4330,11 +3903,11 @@ function BTCConnectModal({
|
|
|
4330
3903
|
statusRef.current = "";
|
|
4331
3904
|
setError("");
|
|
4332
3905
|
};
|
|
4333
|
-
return /* @__PURE__ */ (0,
|
|
3906
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4334
3907
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4335
3908
|
}, {
|
|
4336
3909
|
name: "BTC"
|
|
4337
|
-
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0,
|
|
3910
|
+
}), onBack: wallet ? onBack : void 0, children: wallet ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
4338
3911
|
WalletModalContent,
|
|
4339
3912
|
{
|
|
4340
3913
|
error,
|
|
@@ -4347,9 +3920,9 @@ function BTCConnectModal({
|
|
|
4347
3920
|
setVisible: () => {
|
|
4348
3921
|
}
|
|
4349
3922
|
}
|
|
4350
|
-
) : /* @__PURE__ */ (0,
|
|
3923
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "matchid-login-recommend-list", children: [
|
|
4351
3924
|
installedWallets.map((wallet2) => {
|
|
4352
|
-
return /* @__PURE__ */ (0,
|
|
3925
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
4353
3926
|
RecommendItem,
|
|
4354
3927
|
{
|
|
4355
3928
|
icon: iconMaps[wallet2.walletKey],
|
|
@@ -4362,14 +3935,14 @@ function BTCConnectModal({
|
|
|
4362
3935
|
);
|
|
4363
3936
|
}),
|
|
4364
3937
|
wallets2.filter((wallet2) => !installedWallets.find((installedWallet) => installedWallet.walletKey == wallet2.walletKey)).map((wallet2) => {
|
|
4365
|
-
return /* @__PURE__ */ (0,
|
|
3938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
|
|
4366
3939
|
RecommendItem,
|
|
4367
3940
|
{
|
|
4368
3941
|
icon: iconMaps[wallet2.walletKey],
|
|
4369
3942
|
name: wallet2.name,
|
|
4370
3943
|
onClick: () => {
|
|
4371
3944
|
},
|
|
4372
|
-
footer: /* @__PURE__ */ (0,
|
|
3945
|
+
footer: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { size: "sm", onClick: () => {
|
|
4373
3946
|
window.open(wallet2.website);
|
|
4374
3947
|
}, children: "Install" })
|
|
4375
3948
|
},
|
|
@@ -4379,23 +3952,23 @@ function BTCConnectModal({
|
|
|
4379
3952
|
] }) }) });
|
|
4380
3953
|
}
|
|
4381
3954
|
function BTCModal(props) {
|
|
4382
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
3955
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(BTCConnectModal, { ...props });
|
|
4383
3956
|
}
|
|
4384
3957
|
|
|
4385
3958
|
// src/components/WalletModal/index.tsx
|
|
4386
|
-
var
|
|
4387
|
-
var
|
|
4388
|
-
var
|
|
3959
|
+
var import_react28 = require("react");
|
|
3960
|
+
var import_react_intl15 = require("react-intl");
|
|
3961
|
+
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
4389
3962
|
function WalletConnectModal({
|
|
4390
3963
|
type,
|
|
4391
3964
|
methods: _methods,
|
|
4392
3965
|
...props
|
|
4393
3966
|
}) {
|
|
4394
|
-
const intl = (0,
|
|
3967
|
+
const intl = (0, import_react_intl15.useIntl)();
|
|
4395
3968
|
const { walletMap } = useWalletConfig();
|
|
4396
3969
|
const { bind, login } = useUserInfo();
|
|
4397
3970
|
const config = useAppConfig();
|
|
4398
|
-
const methods = (0,
|
|
3971
|
+
const methods = (0, import_react28.useMemo)(() => {
|
|
4399
3972
|
if (_methods) return _methods;
|
|
4400
3973
|
if (!config.platform) {
|
|
4401
3974
|
return [];
|
|
@@ -4403,13 +3976,13 @@ function WalletConnectModal({
|
|
|
4403
3976
|
const platform = config.platform.map((p) => p.toLowerCase());
|
|
4404
3977
|
return WALLET_METHODS.filter((m) => platform.includes(m));
|
|
4405
3978
|
}, [config.platform, _methods]);
|
|
4406
|
-
return /* @__PURE__ */ (0,
|
|
3979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4407
3980
|
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4408
3981
|
}, {
|
|
4409
3982
|
name: ""
|
|
4410
|
-
}), children: /* @__PURE__ */ (0,
|
|
3983
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-login-box", children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("div", { className: "matchid-login-recommend-list", children: methods.map((method, index) => {
|
|
4411
3984
|
const m = walletMap[method];
|
|
4412
|
-
return /* @__PURE__ */ (0,
|
|
3985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
|
|
4413
3986
|
RecommendItem,
|
|
4414
3987
|
{
|
|
4415
3988
|
icon: m?.icon,
|
|
@@ -4423,7 +3996,7 @@ function WalletConnectModal({
|
|
|
4423
3996
|
}) }) }) });
|
|
4424
3997
|
}
|
|
4425
3998
|
function WalletModal(props) {
|
|
4426
|
-
return props.isOpen && /* @__PURE__ */ (0,
|
|
3999
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(WalletConnectModal, { ...props });
|
|
4427
4000
|
}
|
|
4428
4001
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4429
4002
|
0 && (module.exports = {
|
|
@@ -4439,7 +4012,6 @@ function WalletModal(props) {
|
|
|
4439
4012
|
Modal,
|
|
4440
4013
|
ModalWithHeader,
|
|
4441
4014
|
Overlay,
|
|
4442
|
-
PasswordModal,
|
|
4443
4015
|
Popover,
|
|
4444
4016
|
SOLModal,
|
|
4445
4017
|
TONModal,
|