@matchain/matchid-sdk-react 0.1.53-alpha.19 → 0.1.53-alpha.20

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